Spezielle Berechtigungen anfordern

Eine spezielle Berechtigung schützt den Zugriff auf Systemressourcen, die besonders vertraulich sind oder nicht direkt mit dem Datenschutz für Nutzer in Verbindung stehen. Diese Berechtigungen sind anders als Installationszeit Berechtigungen und Laufzeit Berechtigungen

<ph type="x-smartling-placeholder">
</ph>
Abbildung 1: Der Bildschirm Spezieller App-Zugriff im System Einstellungen.

Beispiele für spezielle Berechtigungen:

  • Die Planung exakter Alarme.
  • Anzeigen und Überblenden anderer Apps
  • Auf alle Speicherdaten zugreifen.

Apps, für die eine spezielle Berechtigung deklariert wird, sind unter Spezieller App-Zugriff aufgeführt in den Systemeinstellungen (Abbildung 1). Um der App eine spezielle Berechtigung zu erteilen, muss ein Nutzer muss diese Seite aufrufen: Einstellungen > Apps > Spezieller App-Zugriff.

Workflow

So fordern Sie eine spezielle Berechtigung an:

  1. Deklarieren Sie in der Manifestdatei Ihrer App die speziellen Berechtigungen, die deine App möglicherweise benötigt,
  2. Gestalten Sie die UX Ihrer App so, dass bestimmte Aktionen in Ihrer App in Verbindung gebracht werden. mit speziellen Berechtigungen. Lassen Sie die Nutzer wissen, welche Aktionen dass Ihre App auf private Nutzerdaten zugreifen darf.
  3. Warten Sie, bis der Nutzer den Vorgang gestartet hat. die Aufgabe oder Aktion in Ihrer App, die Zugriff auf einen bestimmten privaten Nutzer erfordert Daten. Dann kann deine App die spezielle Berechtigung anfordern, die die für den Zugriff auf diese Daten erforderlich sind.
  4. Überprüfen Sie, ob der Nutzer die spezielle Berechtigung, die Ihr die für die App erforderlich sind. Nutzen Sie dazu die benutzerdefinierte Prüfung jeder Berechtigung Funktion. Wenn die Berechtigung erteilt wird, kann deine App auf den privaten Nutzer zugreifen Daten. Sollte dies nicht der Fall sein, fahren Sie mit dem nächsten Schritt fort. Hinweis: Sie müssen überprüfen, ob Sie Sie jedes Mal die Berechtigung erhalten, wenn Sie einen Vorgang ausführen, Berechtigung.
  5. Präsentieren Sie dem Nutzer eine Begründung in einem UI-Element, das klar erkennbar ist. wird erläutert, auf welche Daten deine App zugreifen möchte und welche Vorteile sie bietet. die der Nutzer erhalten kann, wenn er die spezielle Berechtigung erteilt. Außerdem da Nutzer von Ihrer App zu den Systemeinstellungen geleitet werden, um die Berechtigung zu erteilen, Eine kurze Anleitung enthalten, in der erklärt wird, wie Nutzer die Berechtigung erteilen können . Die Benutzeroberfläche zur Begründung sollte dem Nutzer eine klare Option bieten, der Erteilung der Berechtigung zu widersprechen. Nachdem der Nutzer die Begründung, fahren Sie mit dem nächsten Schritt fort.
  6. Fordere die spezielle Berechtigung an, auf die deine App zugreifen muss. die privaten Nutzerdaten. Dies beinhaltet wahrscheinlich einen Intent für den entsprechenden in den Systemeinstellungen, auf der der Nutzer die Berechtigung erteilen kann. „Mag ich“-Bewertung entfernen Laufzeitberechtigungen: Es gibt Dialogfeld für Berechtigung ohne Pop-up.
  7. Überprüfen Sie die Antwort des Nutzers – ob er sich dafür entschieden hat, das spezielle Angebot zu gewähren oder abzulehnen. Berechtigung: in der Methode onResume().
  8. Wenn der Nutzer Ihrer App die Berechtigung erteilt hat, können Sie auf den privaten Nutzerdaten. Wenn der Nutzer stattdessen die Berechtigung verweigert hat, berechtigen Sie die Funktion die Nutzerfreundlichkeit Ihrer App Es bietet Funktionen für Nutzende ohne die Informationen, durch diese Berechtigung geschützt sind.
<ph type="x-smartling-placeholder">
</ph>
Abbildung 2: Workflow für die Deklaration und Anforderung von Sonderangebotspreisen Berechtigungen unter Android.

Besondere Berechtigungen anfordern

Im Gegensatz zu Laufzeitberechtigungen muss der Nutzer über die Seite Special App Access (Spezieller App-Zugriff) in Systemeinstellungen. Apps können Nutzer mithilfe eines Intents dorthin weiterleiten, der die App pausiert und öffnet die entsprechende Einstellungsseite für eine bestimmte Berechtigung. Nachdem der Nutzer zur App zurückgekehrt ist, kann sie prüfen, ob die Berechtigung in der Funktion onResume() gewährt wird.

Der folgende Beispielcode zeigt, wie Sie den SCHEDULE_EXACT_ALARMS Sondergenehmigung von Nutzern:

val alarmManager = getSystemService<AlarmManager>()!!
when {
   // if permission is granted, proceed with scheduling exact alarms…
   alarmManager.canScheduleExactAlarms() -> {
       alarmManager.setExact(...)
   }
   else -> {
       // ask users to grant the permission in the corresponding settings page
       startActivity(Intent(ACTION_REQUEST_SCHEDULE_EXACT_ALARM))
   }
}

Beispielcode zum Prüfen der Berechtigung und zum Verarbeiten von Nutzerentscheidungen in onResume():

override fun onResume() {
   // ...

   if (alarmManager.canScheduleExactAlarms()) {
       // proceed with the action (setting exact alarms)
       alarmManager.setExact(...)
   }
   else {
       // permission not yet approved. Display user notice and gracefully degrade
       your app experience.
       alarmManager.setWindow(...)
   }
}

Best Practices und Tipps

In den folgenden Abschnitten finden Sie einige Best Practices und Überlegungen zur spezielle Berechtigungen anfordern.

Jede Berechtigung hat ihre eigene Prüfmethode

Spezielle Berechtigungen funktionieren anders als runtime Berechtigungen Stattdessen in der permissions API-Referenz und verwenden Sie die benutzerdefinierte Zugriffsprüfung. Funktionen für jede Sonderberechtigung. Beispiele: AlarmManager#canScheduleExactAlarms() für die SCHEDULE_EXACT_ALARMS Berechtigung und Environment#isExternalStorageManager() für die MANAGE_EXTERNAL_STORAGE. Berechtigung.

Anfrage im Kontext

Ähnlich wie Laufzeitberechtigungen sollten Apps spezielle Berechtigungen anfordern im Kontext, wenn der Nutzer eine bestimmte Aktion anfordert, für die Berechtigung. Warten Sie beispielsweise, bis die Berechtigung SCHEDULE_EXACT_ALARMS angefordert wird bis der Nutzer den Versand einer E-Mail zu einem bestimmten Zeitpunkt plant.

Erkläre die Anfrage

Begründen Sie, bevor Sie zu den Systemeinstellungen weiterleiten. Da Nutzende die vorübergehend spezielle Berechtigungen erteilen, zeigen Sie vor dem Rufen Sie in den Systemeinstellungen des Intents die Seite Special App Access (Spezieller App-Zugriff) auf. Diese Benutzeroberfläche klar erklären, warum die App die Berechtigung benötigt und wie die Nutzenden auf der Einstellungsseite.