0Pricing
Android Academy · Lektion

Ablehnungen und Begründungen behandeln

Erklären Sie, warum Sie eine Berechtigung benötigen.

Ablehnungen und Begründungen behandeln ist eine kostenlose Android Academy-Lektion auf CoddyKit. Dies ist Lektion 3 von 4. Du kannst die komplette Lektion unten kostenlos lesen – dann übst du sie direkt im Browser mit einem integrierten Code-Editor und einem KI-Tutor rund um die Uhr. Sie ist Teil des Android Academy-Lernpfads, und dein Fortschritt wird über Web und CoddyKit-App synchronisiert. Der Android Academy-Kurs umfasst insgesamt 4 Lektionen.

Ablehnungen behandeln

Nutzende können eine Berechtigung ablehnen, auch dauerhaft. Eine ausgereifte App behandelt alle Zustände angemessen: erteilt, einmal abgelehnt und mit „nicht mehr fragen“ abgelehnt.

Drei mögliche Zustände

Nach einer Anfrage können Sie sich in einem von drei Zuständen befinden:

  • Erteilt: Fahren Sie mit der Funktion fort
  • Abgelehnt (erneute Anfrage möglich): Erklären Sie den Grund und fordern Sie die Berechtigung erneut an
  • Dauerhaft abgelehnt: Der Dialog wird nicht mehr angezeigt; führen Sie die nutzende Person zu den Einstellungen

Was ist eine Begründung

Eine Begründung ist eine kurze Erklärung, warum Ihre App eine Berechtigung benötigt. Android gibt über shouldShowRequestPermissionRationale an, wann Sie eine solche Begründung anzeigen sollten.

shouldShowRequestPermissionRationale

Diese Methode gibt true zurück, wenn die nutzende Person die Berechtigung mindestens einmal abgelehnt, aber nicht „nicht mehr fragen“ ausgewählt hat. Das ist Ihr Signal, vor einer erneuten Anfrage zunächst eine Erklärung anzuzeigen.

val activity = LocalContext.current as Activity
val showRationale = ActivityCompat
    .shouldShowRequestPermissionRationale(
        activity,
        Manifest.permission.CAMERA
    )

Das Signal auswerten

Werten Sie den Wert zusammen mit der Prüfung der Erteilung aus:

  • Erteilt: Nichts weiter zu tun
  • Nicht erteilt und shouldShowRationale == true: Zeigen Sie eine Erklärung an und fordern Sie die Berechtigung anschließend erneut an
  • Nicht erteilt und shouldShowRationale == false: Entweder wurde erstmals angefragt oder die Berechtigung wurde dauerhaft abgelehnt

Einen Begründungsdialog anzeigen

Wenn eine Begründung erforderlich ist, zeigen Sie vor dem erneuten Starten der Systemanfrage einen freundlichen Dialog an, damit die nutzende Person den Nutzen versteht.

if (showRationale) {
    AlertDialog(
        onDismissRequest = { },
        title = { Text("Camera needed") },
        text = { Text("We use the camera to scan codes.") },
        confirmButton = {
            TextButton(onClick = {
                launcher.launch(Manifest.permission.CAMERA)
            }) { Text("Continue") }
        }
    )
}

Eine dauerhafte Ablehnung erkennen

Wenn die Berechtigung weiterhin nicht erteilt ist und shouldShowRationale nach einer bereits erfolgten Anfrage den Wert false hat, behandeln Sie sie als dauerhaft abgelehnt. Der Systemdialog wird nicht mehr angezeigt.

Verfolgen, ob Sie bereits gefragt haben

Da shouldShowRationale auch bei der allerersten Anfrage den Wert false hat, sollten Sie ein Flag verfolgen, beispielsweise in DataStore, das festhält, dass Sie mindestens einmal gefragt haben. So können Sie die erste Anfrage von einer dauerhaften Ablehnung unterscheiden.

Nutzende zu den Einstellungen führen

Bei einer dauerhaften Ablehnung können Sie nicht erneut fragen. Bieten Sie eine Schaltfläche an, die die Einstellungsseite Ihrer App öffnet, damit die nutzende Person die Berechtigung manuell erteilen kann.

fun openAppSettings(context: Context) {
    val intent = Intent(
        Settings.ACTION_APPLICATION_DETAILS_SETTINGS,
        Uri.fromParts("package", context.packageName, null)
    )
    context.startActivity(intent)
}

Die UI für abgelehnte Berechtigungen gestalten

Lassen Sie bei einer Ablehnung niemals einen leeren oder fehlerhaften Bildschirm zurück. Zeigen Sie eine klare Nachricht, erklären Sie die Auswirkungen und bieten Sie die passende Aktion an: erneut anfragen, Einstellungen öffnen oder mit eingeschränkter Funktionalität fortfahren.

Die Entscheidung der nutzenden Person respektieren

Drängen Sie nicht. Wenn eine Berechtigung abgelehnt wurde, bombardieren Sie die nutzende Person nicht auf jedem Bildschirm mit Anfragen. Fragen Sie nur erneut, wenn eine Aktion die Funktion benötigt, und bieten Sie ansonsten eine angemessene eingeschränkte Nutzung an.

Kurze Überprüfung

Testen Sie Ihr Verständnis von Ablehnungen und Begründungen.

Zusammenfassung

Sie haben gelernt, mit Ablehnungen umzugehen:

  • Drei Zustände: erteilt, abgelehnt, dauerhaft abgelehnt
  • shouldShowRequestPermissionRationale signalisiert, wann eine Erklärung angezeigt werden sollte
  • Verfolgen Sie, ob Sie bereits gefragt haben, um eine dauerhafte Ablehnung zu erkennen
  • Führen Sie die nutzende Person bei einer dauerhaften Ablehnung zu den Einstellungen der App
  • Gestalten Sie eine klare UI für den abgelehnten Zustand und vermeiden Sie wiederholtes Drängen

Als Nächstes: Best Practices zum Datenschutz.

Häufig gestellte Fragen

Ist die Lektion „Ablehnungen und Begründungen behandeln“ kostenlos?

Ja — der vollständige Text von „Ablehnungen und Begründungen behandeln“ ist hier im Web kostenlos zu lesen. Um sie interaktiv zu üben (integrierter Code-Editor und 24/7 KI-Tutor) und den Rest des Android Academy-Kurses freizuschalten, upgrade auf CoddyKit PRO. Der Android Academy-Kurs umfasst insgesamt 4 Lektionen.

Was lerne ich in „Ablehnungen und Begründungen behandeln“?

Erklären Sie, warum Sie eine Berechtigung benötigen. Du übst Android Academy mit praktischem Code, den du direkt im Browser ausführst, und ein 24/7 KI-Tutor beantwortet deine Fragen während du die Lektion bearbeitest.

Brauche ich Erfahrung, um Android Academy zu starten?

Keine Vorkenntnisse erforderlich. Android Academy auf CoddyKit ist für Anfänger bis fortgeschrittene Lernende strukturiert, sodass du hier starten oder von Anfang an beginnen und in deinem eigenen Tempo voranschreiten kannst. Dies ist Lektion 3 von 4.

Wie lange dauert die Lektion „Ablehnungen und Begründungen behandeln“?

Die meisten CoddyKit-Lektionen dauern etwa 5–10 Minuten. Jede ist kompakt und interaktiv, sodass du stetig Fortschritte machst und genau dort weitermachst, wo du aufgehört hast – im Web und in der App.

Kann ich in dieser Android Academy-Lektion Code schreiben und ausführen?

Ja. Jede Android Academy-Lektion enthält einen integrierten Code-Editor, sodass du echten Code direkt in deinem Browser schreibst und ausführst und sofort KI-Feedback erhältst — ohne lokale Einrichtung erforderlich.

Alle Lektionen in diesem Kurs

  1. Das Android-Berechtigungsmodell
  2. Berechtigungen in Compose anfordern
  3. Ablehnungen und Begründungen behandeln
  4. Best Practices für den Datenschutz
← Zurück zu Android Academy