Erklären Sie den Zugriff auf vertraulichere Informationen.

Die Berechtigungen für Standort, Mikrofon und Kamera gewähren deiner App auf besonders vertrauliche Daten der Nutzer. Die Plattform umfasst Mechanismen, mit denen die Nutzenden auf dem Laufenden bleiben festlegen, welche Apps auf Standort, Mikrofon und Kamera zugreifen dürfen.

Diese datenschutzfreundlichen Systemfunktionen sollten sich nicht auf die Verarbeitung deiner App auswirken Berechtigungen in Bezug auf Standort, Mikrofon und Kamera, solange Sie Best Practices für den Datenschutz einhalten.

Achten Sie insbesondere darauf, dass Sie Folgendes in Ihrer App tun:

Privatsphäredashboard

<ph type="x-smartling-placeholder">
</ph> Eine vertikale Zeitachse zeigt die verschiedenen Apps,
         auf Standortinformationen zugegriffen hat und wann der Zugriff erfolgte.
Abbildung 1: Bildschirm „Standortnutzung“, Teil des Datenschutzes Dashboard

Auf unterstützten Geräten mit Android 12 oder höher wird die Das Dashboard wird in den Systemeinstellungen 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 Datenzugriff anzeigen

Deine App kann den Nutzern eine Begründung liefern, damit sie die Gründe für deine App besser nachvollziehen können. auf Standort-, Kamera- oder Mikrofoninformationen zugreift. Diese Begründung kann auf dem neuen Privatsphäredashboard, auf dem Berechtigungsbildschirm Ihrer App oder in beiden.

Wenn Sie erklären möchten, warum Ihre App auf Standort-, Kamera- und Mikrofondaten zugreift, führen Sie die folgenden Schritte aus:

  1. Füge eine Aktivität hinzu, die zu Beginn begründen, warum deine App eine bestimmte Art von Datenzugriffsaktion ausführt. Legen Sie innerhalb dieser Aktivität Attribut android:permission an START_VIEW_PERMISSION_USAGE.

    Wenn deine App auf Android 12 oder höher ausgerichtet ist, musst du einen Wert für den android:exported definieren, .

  2. 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>
    
  3. Entscheiden Sie, was Ihre Begründung für den Datenzugriff anzeigen soll. Zum Beispiel haben Sie die Website Ihrer App oder einen Hilfeartikel enthält. 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:

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. Ich kann diese Aktion auf alle Laufzeitberechtigungen anwenden.
  • Wenn Sie den Intent-Filter hinzufügen, der die VIEW_PERMISSION_USAGE_FOR_PERIOD Aktion sehen Nutzer das Symbol neben Ihrem den Namen der App, wenn sie auf dem Privatsphäredashboard angezeigt wird.

Wenn Nutzer dieses Symbol auswählen, wird die Begründung Ihrer App gestartet.

<ph type="x-smartling-placeholder">
</ph> Ein abgerundetes Rechteck in der oberen rechten Ecke, das
         enthält ein Kamera- und ein Mikrofonsymbol
Abbildung 2: Mikrofon- und Kameraanzeigen, die zeigen, kürzlich erfolgten Datenzugriff.

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 um zu sehen, welche Apps gerade das Mikrofon oder die Kamera verwenden. Abbildung 2 zeigt einen Beispiel-Screenshot mit den Symbolen.

Position von Anzeigen auf dem Display ermitteln

Wenn deine App den immersiven Modus oder eine Vollbild-Benutzeroberfläche unterstützt, können die Anzeigen die die Benutzeroberfläche Ihrer App überlappen. Um Ihre UI an diese Indikatoren anzupassen, führt das System getPrivacyIndicatorBounds() -Methode, die im folgenden Code-Snippet dargestellt ist. 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.

Kotlin

view.setOnApplyWindowInsetsListener { view, windowInsets ->
    val indicatorBounds = windowInsets.getPrivacyIndicatorBounds()
    // change your UI to avoid overlapping
    windowInsets
}

Ein/Aus-Schaltfläche

<ph type="x-smartling-placeholder">
</ph> Die Kacheln für Schnelleinstellungen sind mit „Kamerazugriff“ gekennzeichnet und
         „Mikrofonzugriff“
Abbildung 3: Ein/Aus-Schaltfläche für Mikrofon und Kamera Schnelleinstellungen

Auf unterstützten Geräten, auf denen Unter Android 12 oder höher können Nutzer Mikrofonzugriff für alle Apps auf dem Gerät durch Drücken einer einzigen Ein/Aus-Schaltfläche Option. Nutzer können auf die ein-/ausschaltbaren Optionen über die Schnellansicht Einstellungen, wie in Abbildung 3 oder auf dem Privatsphärebildschirm in den Systemeinstellungen.

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. Darüber hinaus werden Bewegungssensoren mit Ratenbegrenzung, unabhängig davon, ob Sie das HIGH_SAMPLING_RATE_SENSORS Berechtigung.

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:

Kotlin

val sensorPrivacyManager = applicationContext
        .getSystemService(SensorPrivacyManager::class.java)
        as SensorPrivacyManager
val supportsMicrophoneToggle = sensorPrivacyManager
        .supportsSensorToggle(Sensors.MICROPHONE)
val supportsCameraToggle = sensorPrivacyManager
        .supportsSensorToggle(Sensors.CAMERA)

Java

SensorPrivacyManager sensorPrivacyManager = getApplicationContext()
        .getSystemService(SensorPrivacyManager.class);
boolean supportsMicrophoneToggle = sensorPrivacyManager
        .supportsSensorToggle(Sensors.MICROPHONE);
boolean supportsCameraToggle = sensorPrivacyManager
        .supportsSensorToggle(Sensors.CAMERA);