Die Berechtigungen für Standort, Mikrofon und Kamera gewähren Ihrer App Zugriff auf besonders vertrauliche Daten von Nutzern. Die Plattform bietet mehrere Mechanismen, die auf dieser Seite beschrieben werden, damit Nutzer immer auf dem Laufenden sind und selbst entscheiden können, welche Apps auf ihren Standort, ihr Mikrofon und ihre Kamera zugreifen dürfen.
Diese datenschutzfreundlichen Systemfunktionen sollten sich nicht auf die Verarbeitung deiner App auswirken Berechtigungen in Bezug auf Standort, Mikrofon und Kamera erhalten, Best Practices zum Datenschutz einhalten.
Achten Sie insbesondere auf Folgendes:
- Warten Sie, bis der Nutzer Ihrer App die Berechtigung
CAMERA
erteilt hat, bevor Sie auf die Kamera des Geräts zugreifen. - Warten Sie, bis der Nutzer Ihrer App die Berechtigung
RECORD_AUDIO
erteilt hat, bevor Sie auf das Mikrofon des Geräts zugreifen. - Warten Sie, bis der Nutzer mit einer Funktion in Ihrer App interagiert, für die eine
Standort vor dem Anfordern des
ACCESS_COARSE_LOCATION
oder dieACCESS_FINE_LOCATION
wie in der Anleitung zum Anfordern der Standortermittlung beschrieben. Berechtigungen. - Warten Sie, bis der Nutzer Ihrer App entweder die
ACCESS_COARSE_LOCATION
- oder dieACCESS_FINE_LOCATION
-Berechtigung erteilt, bevor Sie dieACCESS_BACKGROUND_LOCATION
-Berechtigung anfordern.
Privatsphäredashboard
Auf unterstützten Geräten mit Android 12 oder höher wird in den Systemeinstellungen ein Datenschutz-Dashboard angezeigt. Über diesen Bildschirm können Nutzer Auf separaten Bildschirmen wird angezeigt, wenn Apps auf Standort, Kamera und Mikrofon zugreifen. Informationen. Jeder Bildschirm zeigt eine Zeitachse, die zeigt, wann verschiedene Apps auf ein bestimmte Art von Daten. Abbildung 1 zeigt die Zeitachse für den Datenzugriff für den Standort. Informationen.
Begründung für den Datenzugriff angeben
Ihre App kann Nutzern eine Begründung dafür liefern, warum Ihre App auf Standort-, Kamera- oder Mikrofoninformationen zugreift. Diese Begründung kann auf dem neuen Privatsphäredashboard, auf dem Berechtigungsbildschirm Ihrer App oder in beiden.
So erklären Sie, warum Ihre App auf Standort-, Kamera- und Mikrofondaten zugreift:
Füge eine Aktivität hinzu, die zu Beginn begründen, warum deine App eine bestimmte Art von Datenzugriffsaktion ausführt. Legen Sie in dieser Aktivität das Attribut
android:permission
aufSTART_VIEW_PERMISSION_USAGE
fest.Wenn deine App auf Android 12 oder höher ausgerichtet ist, musst du einen Wert für den
android:exported
definieren, .Fügen Sie der neu hinzugefügten Aktivität den folgenden Intent-Filter hinzu:
<!-- android:exported required if you target Android 12. --> <activity android:name=".DataAccessRationaleActivity" android:permission="android.permission.START_VIEW_PERMISSION_USAGE" android:exported="true"> <!-- VIEW_PERMISSION_USAGE shows a selectable information icon on your app permission's page in system settings. VIEW_PERMISSION_USAGE_FOR_PERIOD shows a selectable information icon on the Privacy Dashboard screen. --> <intent-filter> <action android:name="android.intent.action.VIEW_PERMISSION_USAGE" /> <action android:name="android.intent.action.VIEW_PERMISSION_USAGE_FOR_PERIOD" /> <category android:name="android.intent.category.DEFAULT" /> ... </intent-filter> </activity>
Legen Sie fest, welche Aktivität als Begründung für den Datenzugriff angezeigt werden soll. Sie können beispielsweise die Website Ihrer App oder einen Hilfeartikel angeben. Um eine bessere eine detaillierte Erklärung zu den Datentypen, auf die Ihre App zugreift, sowie und die Extras bearbeiten, die das System zur Verfügung stellt, Ruft den Berechtigungsnutzungs-Intent auf:
- Wenn das System
ACTION_VIEW_PERMISSION_USAGE
aufruft, kann Ihre App einen Wert fürEXTRA_PERMISSION_GROUP_NAME
abrufen. - Wenn das System
ACTION_VIEW_PERMISSION_USAGE_FOR_PERIOD
aufruft, kann Ihre App Werte fürEXTRA_PERMISSION_GROUP_NAME
,EXTRA_ATTRIBUTION_TAGS
,EXTRA_START_TIME
undEXTRA_END_TIME
abrufen.
- Wenn das System
Je nachdem, welche Intent-Filter Sie hinzufügen, sehen Nutzer ein Informationssymbol neben dem Namen Ihrer App auf bestimmten Bildschirmen:
- Wenn Sie den Intent-Filter hinzufügen, der
VIEW_PERMISSION_USAGE
enthält Aktion sehen Nutzer das Symbol auf der Berechtigungsseite Ihrer App in den Systemeinstellungen. Sie können diese Aktion auf alle Laufzeitberechtigungen anwenden. - Wenn Sie den Intent-Filter mit der Aktion
VIEW_PERMISSION_USAGE_FOR_PERIOD
hinzufügen, sehen Nutzer das Symbol neben dem Namen Ihrer App, wenn Ihre App auf dem Bildschirm „Datenschutz-Dashboard“ angezeigt wird.
Wenn Nutzer dieses Symbol auswählen, wird die Begründung Ihrer App gestartet.
Kennzeichnung
Auf Geräten mit Android 12 oder höher, wenn eine App auf wenn Sie das Mikrofon oder die Kamera verwenden, erscheint in der Statusleiste ein Symbol. Wenn sich die App in im immersiven Modus, erscheint das Symbol in in der oberen rechten Ecke des Bildschirms. Nutzer können die Schnelleinstellungen öffnen und das Symbol auswählen, um zu sehen, welche Apps derzeit das Mikrofon oder die Kamera verwenden. Abbildung 2 zeigt einen Beispiel-Screenshot mit den Symbolen.
Position der Anzeigen auf dem Display
Wenn Ihre App den immersiven Modus oder eine Vollbild-Benutzeroberfläche unterstützt, überlappen sich die Indikatoren möglicherweise kurzzeitig mit der Benutzeroberfläche Ihrer App. Um die Benutzeroberfläche an diese Indikatoren anzupassen, wird die Methode getPrivacyIndicatorBounds()
eingeführt, wie das folgende Code-Snippet zeigt. Mit dieser API können Sie
um die Grenzen zu identifizieren,
an denen die Indikatoren erscheinen könnten. Sie könnten sich dann entscheiden,
Bildschirm-UI anders anordnen.
view.setOnApplyWindowInsetsListener { view, windowInsets -> val indicatorBounds = windowInsets.getPrivacyIndicatorBounds() // change your UI to avoid overlapping windowInsets }
Toggles
Auf unterstützten Geräten mit Android 12 oder höher können Nutzer den Zugriff auf die Kamera und das Mikrofon für alle Apps auf dem Gerät mit nur einer einzigen Ein-/Aus-Schaltfläche aktivieren und deaktivieren. Nutzer können über die Schnelleinstellungen (siehe Abbildung 3) oder über den Datenschutzbildschirm in den Systemeinstellungen auf die Optionen zugreifen.
Die Ein-/Aus-Schaltflächen für Kamera und Mikrofon wirken sich auf alle Apps auf dem Gerät aus:
- Wenn der Nutzer den Kamerazugriff deaktiviert, erhält Ihre App einen leeren Kamerafeed.
Wenn der Nutzer den Mikrofonzugriff deaktiviert, empfängt Ihre App stumme Audiodaten. Außerdem sind Bewegungssensoren frequenzbeschränkt, unabhängig davon, ob Sie die Berechtigung
HIGH_SAMPLING_RATE_SENSORS
angeben.
Wenn der Nutzer den Zugriff auf die Kamera oder das Mikrofon deaktiviert, startet eine App, die Zugriff auf Kamera- oder Mikrofoninformationen benötigt, System den Nutzer daran erinnert, dass die Ein/Aus-Schaltfläche für das gesamte Gerät deaktiviert ist.
Gerätesupport prüfen
Fügen Sie die Logik hinzu, um zu prüfen, ob ein Gerät Ein-/Aus-Schaltflächen für Mikrofon und Kamera unterstützt das im folgenden Code-Snippet angezeigt wird:
val sensorPrivacyManager = applicationContext .getSystemService(SensorPrivacyManager::class.java) as SensorPrivacyManager val supportsMicrophoneToggle = sensorPrivacyManager .supportsSensorToggle(Sensors.MICROPHONE) val supportsCameraToggle = sensorPrivacyManager .supportsSensorToggle(Sensors.CAMERA)
SensorPrivacyManager sensorPrivacyManager = getApplicationContext() .getSystemService(SensorPrivacyManager.class); boolean supportsMicrophoneToggle = sensorPrivacyManager .supportsSensorToggle(Sensors.MICROPHONE); boolean supportsCameraToggle = sensorPrivacyManager .supportsSensorToggle(Sensors.CAMERA);