In Android 9 und niedriger wurden die Berechtigungen zum Erfassen des Bildschirmpuffers ( READ_FRAME_BUFFER
, CAPTURE_VIDEO_OUTPUT
und CAPTURE_SECURE_VIDEO_OUTPUT
) Apps gewährt, die entweder über Signatur- oder privilegierte Berechtigungen verfügten. Dies ermöglichte nahtlose Bildschirmpuffer-Erfassungsaktivitäten, wie z. B. das Aufnehmen von Screenshots oder das Aufzeichnen des Bildschirminhalts eines Geräts.
Ab Android 10 werden privilegierten Apps keine Videoaufnahmeberechtigungen gewährt, um den unbeaufsichtigten Zugriff auf die Bildschirminhalte eines Geräts zu verhindern. Der Zugriff ohne Zustimmung des Benutzers ist eingeschränkt und wird nur Apps gewährt, die über Signaturberechtigungen verfügen. Gerätehersteller, die privilegierte Apps ausführen, die sich auf diese stille Erfassungsfunktion verlassen, sind von dieser Anforderung betroffen.
Wenn Sie ab Android 10 nicht über die aufgeführten Signaturberechtigungen für die Bildschirmpuffererfassung verfügen, kann Ihre App ohne Zustimmung des Benutzers keine Bildschirmpuffer erfassen. Um sicherzustellen, dass Sie über die erforderlichen Berechtigungen verfügen, durchsuchen Sie Ihre Manifestdatei nach den zuvor aufgeführten Signaturberechtigungen. Migrieren Sie alle betroffenen privilegierten Apps (wie in Ihrer Suche gefunden) zur MediaProjectionManager -Klasse, die es jeder Drittanbieter-App ermöglicht, Bildschirmpuffer ohne Berechtigungen, aber mit Zustimmung des Benutzers zu erfassen. Dieser Flow zeigt ein Dialogfeld an, das den Benutzer auffordert, die Bildschirmaufnahme zuzulassen, wenn eine App sie initiiert. In Android 10 umfassen die neuen Funktionen des Dialogfelds Folgendes:
- Bietet sichtbarere Assoziationen mit dem Cast- Symbol.
- Bietet weitere Informationen zur Sensibilität der Daten, auf die zugegriffen werden kann.
- Verhindert, dass Benutzer den Dialog bei zukünftigen Initiationen ausblenden: Der Dialog wird jedes Mal angezeigt.