Lecture d'écran restreinte

Dans Android 9 et inférieure, les autorisations de capture d'écran de la mémoire tampon ( READ_FRAME_BUFFER , CAPTURE_VIDEO_OUTPUT et CAPTURE_SECURE_VIDEO_OUTPUT ) ont été accordées à des applications qui avaient soit la signature ou autorisations privilégiées. Cela a permis des activités de capture de tampon d'écran transparentes, 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 limité et accordé uniquement aux applications qui ont des autorisations de signature. Les fabricants d'appareils qui exécutent des applications privilégiées reposant 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 de 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. Migrer toutes les applications privilégiées affectées (que l'on trouve dans votre recherche) à la MediaProjectionManager classe, ce qui permet à toute application tierce partie à des tampons d'écran de capture 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 les 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.