Lettura dello schermo limitata

In Android 9 e versioni precedenti, le autorizzazioni di acquisizione del buffer dello schermo (READ_FRAME_BUFFER,CAPTURE_VIDEO_OUTPUT eCAPTURE_SECURE_VIDEO_OUTPUT) venivano concesse alle app che avevano o l'autorizzazione di firma o quelle privilegiate. In questo modo, è stato possibile acquisire attività di buffer dello schermo senza interruzioni, come acquisire screenshot o registrare i contenuti dello schermo di un dispositivo.

A partire da Android 10, per impedire l'accesso silenzioso ai contenuti dello schermo di un dispositivo, le autorizzazioni di acquisizione video non vengono concesse alle app con privilegi. L'accesso senza il consenso dell'utente è limitato e concesso solo alle app con autorizzazioni di firma. Questo requisito riguarda i produttori di dispositivi che eseguono app privilegiate che si basano su questa funzionalità di acquisizione silenziosa.

A partire da Android 10, se non disponi delle autorizzazioni di firma per l'acquisizione di buffer dello schermo elencate, la tua app non può acquisire i buffer dello schermo senza il consenso dell'utente. Per assicurarti di disporre delle autorizzazioni necessarie, cerca nel file manifest le autorizzazioni di firma elencate in precedenza. Esegui la migrazione di tutte le app con privilegi interessate (come trovate nella tua ricerca) alla classe MediaProjectionManager, che consente a qualsiasi app di terze parti di acquisire buffer dello schermo senza autorizzazioni, ma con il consenso dell'utente. Questo flusso mostra una finestra di dialogo che chiede all'utente di consentire l'acquisizione dello schermo quando un'app la avvia. In Android 10, le nuove funzionalità della finestra di dialogo includono quanto segue:

  • Fornisce associazioni più visibili con l'icona Cast.
  • Fornisce ulteriori informazioni sulla sensibilità dei dati a cui è possibile accedere.
  • Impedisce agli utenti di nascondere la finestra di dialogo alle successive attivazioni: la finestra di dialogo viene visualizzata ogni volta.