Sous Android 9 et versions antérieures, les autorisations de capture de tampon d'écran ( READ_FRAME_BUFFER
, CAPTURE_VIDEO_OUTPUT
et CAPTURE_SECURE_VIDEO_OUTPUT
) étaient accordées aux applications disposant d' autorisations de signature ou privilégiées. Cela a permis des activités de capture transparentes avec tampon d'écran, telles que la prise de captures d'écran ou l'enregistrement du contenu de l'écran d'un appareil.
À partir d'Android 10, pour empêcher l'accès silencieux au contenu de l'écran d'un appareil, les autorisations de capture vidéo ne sont pas accordées aux applications privilégiées. L'accès sans le consentement de l'utilisateur est restreint et accordé uniquement aux applications disposant d'autorisations de signature. Les fabricants d'appareils qui exécutent des applications privilégiées s'appuyant sur cette fonctionnalité de capture silencieuse sont concernés par cette exigence.
À partir d'Android 10, si vous ne disposez pas des autorisations de signature de capture de tampon d'écran répertoriées, votre application ne peut pas capturer les tampons d'écran sans le consentement de l'utilisateur. Pour vous assurer que vous disposez des autorisations dont vous avez besoin, recherchez dans votre fichier manifeste les autorisations de signature précédemment répertoriées. Migrez toutes les applications privilégiées concernées (telles que trouvées dans votre recherche) vers la classe MediaProjectionManager , qui permet à toute application tierce de capturer des tampons d'écran sans autorisation, mais avec le consentement de l'utilisateur. Ce flux affiche une boîte de dialogue qui invite l'utilisateur à autoriser la capture d'écran lorsqu'une application la lance. Dans Android 10, les nouvelles fonctionnalités de la boîte de dialogue sont les suivantes :
- Fournit des associations plus visibles avec l’icône Cast .
- Fournit plus d’informations sur la sensibilité des données accessibles.
- Empêche les utilisateurs de masquer la boîte de dialogue lors de futures initiations : la boîte de dialogue s'affiche à chaque fois.