In che modo Android Q migliora la privacy e i controlli delle autorizzazioni su Android Pie

Android Q apporterà un rinnovamento alla gestione delle autorizzazioni e miglioramenti per proteggere la privacy degli utenti. Ecco cosa è cambiato Google rispetto ad Android Pie.

La penetrazione nel mercato di Android 9 Pie è appena a blip sul radar rispetto alle versioni Android precedenti, ma ciò non ritarderà i piani di Google di rilasciare la prossima versione di Android, Android Q. Ci aspettiamo che Google sveli la prima anteprima per sviluppatori di Android Q il mese prossimo, ma prima di quella di Google annuncio che siamo riusciti a mettere le mani su una build di Android Q che probabilmente è abbastanza avanzata nello sviluppo di Google ciclo. Nel nostro primo articolo che descriveva in dettaglio le modifiche in arrivo nella prossima versione di Dessert, abbiamo parlato della nuova interfaccia di controllo dei permessi. Tuttavia, ho mostrato solo alcuni screenshot del rinnovato sistema di gestione dei permessi, quindi volevo approfondire con maggiori dettagli. Ho anche eseguito ulteriori test e raccolto maggiori informazioni sulle nuove autorizzazioni in Android Q, sulla funzionalità "ruoli", sul nuovo programma di installazione dei pacchetti e altro ancora. Ma prima, ecco un breve riepilogo della gestione delle autorizzazioni in Android.

Una breve storia della gestione delle autorizzazioni in Android

Android 4.3 JellyBean introdotto per la prima volta gestione granulare delle autorizzazioni tramite la funzione "App Ops", sebbene fosse nascosta all'utente. Android 4.4 KitKat ha anche introdotto nuove autorizzazioni controllabili dall'utente nell'interfaccia App Ops, sebbene tu necessitava dell'accesso root e di un modulo Xposed per accedervi. Infine, Android 6.0 Marshmallow ha introdotto il sistema di autorizzazioni che tutti conosciamo, anche se con limitazioni su quali autorizzazioni è possibile limitare. La vecchia funzionalità App Ops esiste ancora in Android, sebbene sia possibile accedervi solo tramite riga di comando (cmd appops). Alcune applicazioni sul Google Play Store sfrutta l'implementazione della riga di comando di App Ops per fornire un'interfaccia di gestione delle autorizzazioni più potente. Google non espone App Ops agli utenti poiché l'utente potrebbe non sapere cosa sta facendo, con il risultato che nega a un'app alcune autorizzazioni di cui potrebbe davvero aver bisogno per funzionare correttamente. Sfortunatamente, dall'introduzione della gestione delle autorizzazioni in Android Marshmallow, non abbiamo riscontrato alcun cambiamento importante nella funzionalità, cioè fino a quando Android Q.

Operazioni dell'app in Android 4.3 Jelly Bean

Android 6.0 Marshmallow ha visto anche un cambiamento importante nel modo in cui determinate autorizzazioni vengono concesse alle applicazioni. Prima di Android 6.0, tutti autorizzazioni definite in un il file manifest dell'app vengono concessi al momento dell'installazione. Con Android 6.0, Google introdotta la gestione dei permessi di runtime per alcune autorizzazioni ritenute pericolose, come l'accesso alla memoria esterna, l'accesso alla fotocamera, l'accesso alla posizione e altro ancora. Le autorizzazioni di runtime vengono concesse solo dopo l'installazione di un'app e l'utente deve acconsentire esplicitamente alla concessione di tali autorizzazioni toccando "consenti" nella finestra di dialogo delle autorizzazioni quando richiesto. Fino a Google distrutto sulle app destinate a un livello API precedente, gli sviluppatori di app potrebbero ignorare le autorizzazioni di runtime scegliendo come target il livello API 22 o inferiore (Android Lollipop o precedente). Android Q avviserà gli utenti cercando di eseguire un'app destinata al livello API 22 o inferiore, incentivando ulteriormente gli sviluppatori ad aggiornare le loro app per evitare di essere svergognati dal sistema operativo. Pertanto, quando Android Q sarà disponibile sui dispositivi, quasi tutte le app sul dispositivo di un utente dovrebbero essere soggette ai controlli di gestione delle autorizzazioni introdotti in Android 6.0+. Con questo in mente, Google sta ripulendo i controlli delle autorizzazioni in Android Q per rendere più semplice per gli utenti gestire il livello di accesso delle app sul proprio dispositivo.

Gestione delle autorizzazioni più semplice in Android Q rispetto ad Android Pie

Da Android 6.0 Marshmallow ad Android 9 Pie, la gestione delle autorizzazioni di runtime esistente consente all'utente di consentire o negare a un'app solo determinate autorizzazioni. Abbiamo notato nel nostro articolo precedente che Android Q consentirà all'utente di limitare un'autorizzazione solo mentre l'app è in uso. Questa funzionalità ha entusiasmato molte persone, ma dobbiamo chiarirlo solo l'autorizzazione alla posizione può essere limitata a quando un'app è in uso. Ciò significa che non puoi limitare l'uso del microfono o della fotocamera solo mentre l'app è in uso. Non dovresti esserne deluso, però, visto che già Android Pie introdotto alcune restrizioni sull'uso in background di telecamera E microfono richiedendo che le app siano in primo piano o utilizzino un servizio in primo piano. Inoltre, Android Q espande questo aspetto rivelando all'utente ogni volta che un'app utilizza il microfono, la fotocamera o accede alla posizione del dispositivo. Questo viene mostrato all'utente come icone della barra di stato nell'angolo in alto a destra. Quando la barra di stato viene espansa, il testo mostrato accanto alle icone indica all'utente quale app sta attualmente utilizzando una di queste 3 autorizzazioni sensibili. Infine, se l'utente tocca questa icona, viene mostrata una finestra di dialogo che indica all'utente quali app stanno utilizzando quali autorizzazioni. Ancora una volta, questo si applica solo alle autorizzazioni della fotocamera, della posizione e del microfono.

Google sembra incoraggiare gli utenti a limitare l'accesso alla posizione solo quando un'app è in uso, poiché hanno inserito a promemoria in Android Q quando l'utente ha concesso a un'app di accedere sempre alla propria posizione. Questo promemoria si presenta sotto forma di una notifica che informa l'utente che un'app ha utilizzato la sua posizione e che ha sempre la possibilità di farlo. Toccando la notifica si accede alla pagina di autorizzazione alla posizione per quell'app, consentendo all'utente di scegliere di limitare l'autorizzazione alla posizione solo mentre l'app è in uso. Complimenti per questo, Google.

Infine, nella build che ho, l'interfaccia utente per le autorizzazioni speciali di accesso alle app (come ottimizzazione della batteria, amministrazione del dispositivo, accesso Non disturbare, accesso alle notifiche, ecc.) è invariata. Tuttavia, all'elenco è stata aggiunta una nuova autorizzazione speciale "Accesso SMS per app finanziarie", anche se non sono sicuro di come è diverso dall'autorizzazione "Accesso SMS Premium" che è ciò di cui le app hanno bisogno per inviare messaggi di testo a Premium numeri. È possibile che questa nuova autorizzazione sia destinata alle app bancarie che utilizzano gli SMS per determinate transazioni, in conformità con Le nuove norme di Google Play limitare le autorizzazioni SMS e registro chiamate.

Gestire le autorizzazioni in Android Q

Ecco una galleria di screenshot che mostra le nuove modifiche all'interfaccia di gestione delle autorizzazioni in Android Q. Ho incluso descrizioni dettagliate di ogni pagina nelle didascalie di ciascuna immagine.

Concessione di autorizzazioni in Android Q

Ecco gli screenshot che mostrano la gestione delle autorizzazioni di runtime in Android Q. Abbiamo già parlato di cosa mostrano i primi due screenshot, ma il terzo screenshot è una funzionalità Android Q completamente nuova di cui non ho mai parlato prima. La possibilità per Android di consentire all'utente di controllare le autorizzazioni prima di eseguire un'app legacy (definita come un'app destinata al livello API < 23) è qualcosa che è già possibile in Android Pie con giusta configurazione, ma Google ha finalmente attivato l'interruttore e lo ha abilitato in Android Q.

Monitoraggio in tempo reale delle autorizzazioni in Android Q

Ecco gli screenshot che mostrano come Android Q avviserà l'utente quando un'app accede a una delle numerose autorizzazioni sensibili/pericolose tra cui fotocamera, posizione e microfono.

Nuove restrizioni sull'accesso agli appunti e all'accesso ai file esterni

Restrizioni di accesso agli Appunti in background

Nel mio articolo precedente, ho notato una nuova autorizzazione nel framework di Android Q che suggeriva che le app non di sistema in esecuzione in background non saranno più in grado di leggere gli appunti di sistema. Dopo aver attivato Google Play Store, ho deciso di installare alcune popolari app di gestione degli appunti come Gestore degli appunti, Clipper, E Pila di clip per verificare se avevo ragione. Nel bene e nel male, Google sta bloccando l'accesso agli appunti in background in Android Q nessuna delle app che ho testato è riuscita a rilevare il testo che ho copiato negli appunti. Ho anche confermato che queste app hanno il "READ_CLIPBOARD" autorizzazione richiesta utilizzando il seguente comando App Ops:

adb shell cmd appops query-op --user 0 READ_CLIPBOARD allow

Fortunatamente, copiare e incollare testo da e verso qualsiasi app funziona ancora, ma le app in esecuzione in background non possono più leggere il testo che viene copiato. È troppo presto per dire se questa modifica ucciderà le app di gestione degli appunti perché esiste la possibilità che Google introduca una nuova API per rendere un'app un gestore di "gestione degli appunti" predefinito. Tuttavia, non vedo alcuna prova che ciò accada in Android Q.

Accesso ai file di archiviazione esterni

Ho trattato praticamente tutto di questo cambiamento nel mio articolo precedente, ma ecco un riepilogo di ciò che Google sta cambiando in Android Q rispetto all'accesso ai file di archiviazione esterna. Innanzitutto, dobbiamo definire cosa significa "archiviazione esterna". In Android, l'archiviazione esterna è la posizione in cui sono archiviati tutti i file e le cartelle che puoi vedere quando colleghi il telefono a un computer, come download, DCIM, musica, film e immagini. Le app dovrebbero archiviare solo file in dispositivi di archiviazione esterni a cui altre app potrebbero voler accedere, come musica, immagini, video, documenti, ecc.

Affinché un'app possa accedere ai file su una memoria esterna, l'app deve contenere il file READ_ARCHIVIAZIONE_ESTERNA e/o SCRIVERE_ARCHIVIAZIONE_ESTERNA autorizzazioni, che sono entrambe autorizzazioni di runtime. Una volta che un'app dispone di queste autorizzazioni, non ci sono restrizioni su quali file nella memoria esterna può leggere o modificare. In Android Q, Google suddivide queste due autorizzazioni in autorizzazioni più granulari, consentendo all'utente di limitare un'app in modo che possa leggere o scrivere solo determinati tipi di file. Nello specifico, le nuove autorizzazioni in Android Q consentiranno all'utente di limitare un'app in modo che possa solo:

  • Leggi le posizioni dai tuoi media.
  • Leggere o scrivere file musicali.
  • Leggere o scrivere foto/file di immagini.
  • Leggere o scrivere file video.

Un'app a cui è già stata concessa l'autorizzazione READ_EXTERNAL_STORAGE prima che l'utente eseguisse l'aggiornamento a Ad Android Q verranno automaticamente concesse le autorizzazioni di "lettura" sopra elencate, ma non quelle di "scrittura" autorizzazioni.

Accesso alla posizione in background

L'anno scorso, un rapporto di Il New York Times ha messo in luce la pervasività delle app che tracciano la posizione degli utenti per venderle agli inserzionisti. Il rilevamento improprio della posizione è un problema di cui Google è ben consapevole accusati di ciò stessi. Presentato Android 8.0 Oreo restrizioni sulla frequenza con cui le app in esecuzione in background possono accedere alla posizione di un dispositivo. Le richieste di posizione da parte di app in esecuzione in background sono fortemente limitate, quindi se un'app desidera monitorare la tua posizione con qualcuno grado di precisione, deve rivelare che lo sta facendo con un'attività visibile o un servizio in primo piano e un persistente notifica.

Tuttavia, ogni volta che Google cambia il modo in cui funzionano le API Android principali, gli sviluppatori le cui app utilizzavano legittimamente tali API come previsto ne risentono. Abbiamo visto questo verificarsi di recente con le restrizioni di Google Play sulle autorizzazioni SMS e Registro chiamate, con conseguenti molti app popolari che perdono funzionalità chiave. La stessa situazione si è verificata quando Google ha limitato l'accesso alla posizione in background, con gli utenti di un popolare applicazione per il golflamentarsi che non potevano più usarlo per tracciare i loro colpi. Fortunatamente, Android Q sta aggiungendo un nuovo "ACCESS_BACKGROUND_LOCATION" autorizzazione che, se concessa, consente sempre a un'app di avere accesso alla posizione di un dispositivo, anche quando l'app è in esecuzione in background. Pertanto, la nuova versione di Android non solo continuerà a proteggere gli utenti dall'accesso indesiderato alla posizione in background, ma fornirà anche un meccanismo che consentirà agli utenti di consentire alle app di loro scelta per monitorare la loro posizione in background.

L'aggiunta di "Ruoli" in Android Q

In quello di Daniele video pratico per noi Canale YouTube di XDA TV, potresti averlo sentito menzionare una nuova sezione "Ruoli" nelle impostazioni delle app predefinite (Impostazioni --> App e notifiche --> App predefinite). Gli unici "ruoli" mostrati nel video erano quelli per browser, telefono e messaggistica, che sembravano ridondanti poiché esistono già categorie di app predefinite per browser, app per telefono e app per SMS. Dopo aver trascorso un po' più di tempo con Android Q sul Pixel 3 XL, ho scoperto un servizio di "ruolo" per il quale potevo scaricare lo stato tramite il comando "dumpsys rolecomando. Dopo averlo fatto, ho trovato diversi "ruoli" che non corrispondono a nessuna delle categorie di app predefinite già esistenti: CAR_MODE_DIALER_APP, CALL_COMPANION_APP, CALL_SCREENING_APP, E PROXY_CALLING_APP. Dopo aver installato alcune applicazioni proprietarie di Google, sono riuscito a far sì che l'"App telefono in modalità auto" e l'"App screening chiamate" vengano visualizzate nelle pagine "Ruoli", come mostrato di seguito.

Ho decompilato il nuovo APK di sistema responsabile dell'interfaccia di gestione dei permessi di Android Q, una nuova app chiamata "PermissionController" e ho trovato un file roles.xml che suggerisce cosa faranno i "ruoli" nel prossimo Android versione. Non incollerò qui l'intero XML, ma condividerò uno snippet di uno dei ruoli che dovrebbe aiutarti a capire cosa faranno i ruoli.

PermissionController.apk/res/xml/roles.xml

Diciamo che seleziono un'app per avere il ruolo di "galleria". Affinché un'app venga visualizzata come app della galleria valida, deve avere un componente obbligatorio: un'attività che viene avviata con i filtri di azione e intento di categoria android.intent.action.MAIN E android.intent.category.APP_GALLERY rispettivamente. Se ciò è vero e all'app viene assegnato il ruolo "galleria" dall'utente, all'app verranno automaticamente concesse le autorizzazioni nel set di autorizzazioni "media_visual", che credo si riferisca alla nuova autorizzazione per audio, video e immagini che ho descritto prima. In effetti, il nuovo WRITE_MEDIA_VIDEO E WRITE_MEDIA_IMAGES le autorizzazioni sono esplicitamente consentite per un'app con il roll "galleria". Infine, l'app diventa il gestore preferito quando un'altra app invia un'intenzione per chiamare un'app della galleria.

Fondamentalmente, a qualsiasi app a cui è concesso un determinato "ruolo" e che ha i componenti e le autorizzazioni richiesti dichiarati vengono automaticamente concessi altri set di autorizzazioni pertinenti ai relativi casi d'uso. Nell'esempio che ho pubblicato sopra, a un'app con il "ruolo" della galleria viene automaticamente concessa l'autorizzazione per accedere ai set di autorizzazioni relativi all'accesso ai file necessari per funzionare. Presumibilmente, ciò significa che un'app a cui è stato concesso il ruolo di galleria dall'utente non avrebbe bisogno di chiedere all'utente il permesso di leggere o scrivere file di immagini o video.

A giudicare dai nomi, il CAR_MODE_DIALER_APP, CALL_COMPANION_APP, CALL_SCREENING_APP, E PROXY_CALLING_APP i ruoli consentiranno all'utente di scegliere un'app dialer diversa durante la guida, un'app per eseguire varie funzioni mentre l'utente è in una telefonata, un'app per filtrare le telefonate prima che l'utente risponda e un'app per facilitare le chiamate con un numero intermediario, rispettivamente. Non crediamo che il ruolo di screening delle chiamate sia direttamente correlato a Google Pixel Schermata di chiamata caratteristica, a giudicare da ciò che abbiamo visto in AOSP. Piuttosto, è destinato alle app che vogliono fungere da buttafuori per le chiamate spam, come un filtro delle chiamate.

Programma di installazione del pacchetto rinnovato

Il programma di installazione dei pacchetti predefinito di Android (l'applicazione che gestisce l'installazione di nuove app) verrà riprogettato. Invece di mostrare un'attività a schermo intero ogni volta che desideri installare una nuova app, il programma di installazione del pacchetto aggiornato in Android Q visualizza una piccola finestra di dialogo al centro dello schermo. Questa interfaccia utente per l'installazione di mini pacchetti è stata utilizzata per i tablet Android per molto tempo, ma questa è la prima volta che la vediamo sugli smartphone Android.

In Android Q, l'esecuzione di qualsiasi app destinata al livello API 22 o inferiore (Android 5.0 Lollipop) mostrerà un avviso che informa che l'app è obsoleta. Sospetto che questo avvertimento sia sufficiente a dissuadere la maggior parte degli utenti dal preoccuparsi di app destinate a versioni precedenti ad Android Marshmallow. Abbinalo al fatto che Google richiederà il targeting per tutte le app inviate al Play Store dopo agosto 2019 Livello API 28, puoi vedere come gli sviluppatori con app obsolete sono costretti a rielaborare le loro app per indirizzare un'API più recente livello. Come si collega tutto ciò al nuovo programma di installazione del pacchetto? Ebbene, poiché Android 5.0 Lollipop è l'ultimo livello API senza richieste di autorizzazioni di runtime obbligatorie per determinate autorizzazioni sensibili, l'eventuale morte delle app mirate Il livello API 22 e inferiore significa che Google non ha più bisogno di fare spazio nel messaggio di installazione del pacchetto per mostrare un lungo elenco di autorizzazioni concesse a un'app installazione.

Tuttavia, probabilmente non vedrai questo programma di installazione semplificato del pacchetto su tutti i dispositivi Android Q. Huawei, ad esempio, personalizza il programma di installazione del pacchetto con uno scanner di virus e malware integrato (qualcosa che odio), nonché un gestore dei permessi integrato (qualcosa che adoro). EMUI 10, quindi, probabilmente si atterrà al programma di installazione del pacchetto a schermo intero che tutti noi usiamo abituato a.

Nuove opzioni di blocco delle chiamate

Una caratteristica pensavamo sarebbe arrivato con Android Pie è effettivamente arrivato su Android Q, mostrandoti quanto siamo effettivamente vicini alla finalizzazione delle funzionalità principali di Android Q. La funzionalità che abbiamo trovato allora ti consentiva di bloccare le chiamate da numeri di telefono sconosciuti, privati, a pagamento o da qualsiasi numero non presente nell'elenco dei contatti. Ecco uno screenshot della funzione dall'app dialer AOSP. L'app Google Phone non è stata ancora aggiornata con questa funzionalità, ma presumiamo che la riceverà presto.

Tutte le app installate ora mostrano le icone del launcher (possibile bug?)

La maggior parte delle app sul tuo dispositivo hanno icone di avvio perché sono pensate per essere gateway nella loro interfaccia utente. Tuttavia, non tutte le app dispongono di un'interfaccia utente, nel qual caso uno sviluppatore può scegliere di non dichiarare un'attività con i filtri di intenti di azione e categoria android.intent.action.MAIN E android.intent.category.LAUNCHER rispettivamente. Non sono sicuro che si tratti solo di un bug, ma in Android Q tutte le app, anche quelle che tentano di nascondere le icone di avvio nel modo descritto sopra, mostreranno le icone nel launcher. L'ho testato su AOSP Launcher, Pixel Launcher e Nova Launcher di serie su un Google Pixel 3 XL in esecuzione la build di Android Q trapelata e l'ha confrontata con un Google Pixel 2 XL con l'ultimo Android 9 Pie costruire. Quando tocchi una di queste icone, ti porta semplicemente alla pagina delle informazioni dell'app in Impostazioni.

Il dock Hyperion, un componente aggiuntivo per Hyperion Launcher, normalmente non mostra un'icona di avvio. Lo fa in Android Q, però.

Se non si tratta solo di un bug, allora questo sarebbe un modo per gli utenti di capire rapidamente se è stata installata una nuova app, anche se quell'app sta cercando di nascondersi dall'utente.

Riquadro Impostazioni rapide "Sensori disattivati".

C'è un nuovo riquadro Impostazioni rapide chiamato "sensori disattivati" che non solo attiva la modalità aereo ma anche disabilita tutte le letture dei sensori sul dispositivo. L'ho confermato installando DevCheck da XDA Recognized Developer flar2 e confrontando l'output delle letture del sensore con e senza l'interruttore "sensori spenti". Quando il riquadro "sensori disattivati" è attivato, il dispositivo interrompe la segnalazione da tutti i sensori sul dispositivo. Non sono sicuro che questo riquadro Impostazioni rapide sia riservato solo agli ingegneri di Google per il debug, ma questo sarebbe un funzione utile per chiunque sia veramente preoccupato di quali dati il ​​proprio dispositivo sta raccogliendo ambiente.

DevCheck Informazioni su dispositivo e sistemaSviluppatore: flar2

Prezzo: gratuito.

4.6.

Scaricamento

Altro su Android Q

Questo è tutto ciò che riguarda la privacy e le autorizzazioni che ho trovato finora in Android Q. Resta sintonizzato per il mio articolo finale che copre tutte le piccole modifiche all'interfaccia utente e alla UX. Segui il nostro Etichetta Android Q per altri articoli come questo. Ecco un collegamento ad alcuni degli articoli a cui ho fatto riferimento più spesso, così come ad alcuni altri che penso dovresti leggere:

  • Esclusivo: la prima build di Android Q ha un tema scuro a livello di sistema, un rinnovamento delle autorizzazioni, suggerimenti su una "modalità desktop" e altro ancora
  • Esclusivo: Google sta lavorando su una funzionalità simile a Face ID per Android Q
  • Android Q può bloccare le letture degli appunti in background, proteggere meglio i file multimediali, supportare il downgrade delle app e altro ancora
  • Android Q potrebbe essere fornito con nuovi caratteri, forme di icone e sovrapposizioni di colori accentati
  • "Dynamic Android" può consentire agli sviluppatori di testare un AOSP GSI su qualsiasi dispositivo Android Q
  • Modalità oscura di Android Q: come il prossimo sistema operativo Android di Google affronterà temi incredibilmente chiari