Android

Berechtigungen in Android anfordern und verarbeiten

Android 5.1 Lollipop ist eine Version des Android-Betriebssystems, die 2015 veröffentlicht wurde. Ab Android 5.1 können Apps um Berechtigungen bitten, um auf bestimmte Funktionen oder Daten Ihres Geräts zuzugreifen. Eine App kann zum Beispiel um die Erlaubnis bitten, auf Ihre Standortdaten zuzugreifen, die Kamera Ihres Geräts zu nutzen oder auf Ihre Kontakte zuzugreifen.

Um in einer Android-App eine Berechtigung anzufordern, können Sie die Methode requestPermissions der Klasse ActivityCompat aus der Android-Support-Bibliothek verwenden. Diese Methode erwartet ein Activity-Objekt und ein Array von Strings, das die gewünschten Berechtigungen beschreibt.

So könnten Sie in einer Android-App die Berechtigung CAMERA anfordern:

// Check if the camera permission has been granted
if (ContextCompat.checkSelfPermission(this, Manifest.permission.CAMERA)
        != PackageManager.PERMISSION_GRANTED) {
    // If the permission has not been granted, request it
    ActivityCompat.requestPermissions(this,
            new String[]{Manifest.permission.CAMERA},
            REQUEST_CAMERA_PERMISSION);
} else {
    // If the permission has already been granted, proceed with the app's logic
    // that requires the camera.
}

Die Konstante REQUEST_CAMERA_PERMISSION ist eine eindeutige Ganzzahl, die Sie in Ihrer App definieren. Sie dient dazu, die Anfrage zu identifizieren, wenn die App das Ergebnis der Berechtigungsanfrage erhält.

Das Ergebnis der Berechtigungsanfrage können Sie in der Methode onRequestPermissionsResult Ihrer Activity verarbeiten. Diese Methode wird aufgerufen, sobald der Nutzer auf die Anfrage reagiert. Dort können Sie das Ergebnis prüfen und in Ihrer App entsprechend handeln.

@Override
public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions,
        @NonNull int[] grantResults) {
    if (requestCode == REQUEST_CAMERA_PERMISSION) {
        // If the request was successful, proceed with the app's logic that requires the camera
        if (grantResults.length > 0 && grantResults[0] == PackageManager.PERMISSION_GRANTED) {
            // Permission was granted, proceed with the app's logic that requires the camera
        } else {
            // Permission was denied, show a message to the user
            Toast.makeText(this, "Camera permission is required to use this feature",
                    Toast.LENGTH_SHORT).show();
        }
    }
}

Denken Sie daran: Um eine Berechtigung anfordern zu können, müssen Sie sie zuerst in der Manifest-Datei der App deklarieren. Das gelingt mit einem uses-permission-Element in der Manifest-Datei. Um etwa die Berechtigung CAMERA anzufordern, fügen Sie der Manifest-Datei folgendes Element hinzu:

<uses-permission android:name="android.permission.CAMERA" />

Wenn eine App um eine Berechtigung bittet, sehen Sie ein Dialogfenster, das erklärt, warum die App die Berechtigung benötigt, und Ihnen die Wahl lässt, die Anfrage zu erlauben oder abzulehnen. Sie können App-Berechtigungen auch im Einstellungsmenü Ihres Geräts einsehen und verwalten.

Überlegen Sie sich gut, welche Berechtigungen Sie Apps erteilen: Manche Berechtigungen können einer App Zugriff auf sensible Informationen geben oder ihr erlauben, Aktionen auf Ihrem Gerät auszuführen. Erteilen Sie Berechtigungen am besten nur Apps, denen Sie vertrauen und die einen berechtigten Grund dafür haben.

In diesem Beitrag haben wir die Grundlagen des Anforderns und Verarbeitens von Berechtigungen in Android behandelt. Wir haben gesehen, wie man prüft, ob eine Berechtigung erteilt wurde, wie man eine Berechtigung anfordert und wie man das Ergebnis der Anfrage verarbeitet. Außerdem haben wir uns angesehen, wie Berechtigungen in der Manifest-Datei der App deklariert werden.

Jetzt, da Sie besser verstehen, wie Berechtigungen in Android funktionieren, probieren Sie diese Konzepte in Ihrer eigenen App aus. Wenn Sie mehr über Android-Berechtigungen erfahren möchten, finden Sie online viele Ressourcen, darunter die Android-Dokumentation und die Leitfäden für Entwickler. Mit etwas Übung und weiterer Recherche werden Sie bald ein Experte für die Verwaltung von Berechtigungen in Ihren Android-Apps.