Android 10 supporta VSYNC per display?
Non ancora. Il VSYNC del display predefinito in Android 10 gestisce tutti i display.
È possibile accendere o spegnere i display individualmente?
In Android 10, l'implementazione dello stato di alimentazione del dispositivo è principalmente globale e determinata dallo stato di alimentazione del display predefinito. Solo i display virtuali possono essere accesi/spenti individualmente, impostando la superficie su null
). Activity/WindowManager risponde a questo cambiamento di stato.
Come posso configurare dinamicamente l'associazione input-display?
Non esiste un modo integrato per configurare dinamicamente l'associazione tra un input e un dispositivo in Android 10, ma nella maggior parte dei casi è possibile applicare alcune soluzioni alternative. Vedi Routing di ingresso per i dettagli.
Come abilito le decorazioni di sistema su un display?
Per i test, il metodo più semplice consiste nell'utilizzare l'opzione sviluppatore Forza Desktop Mode, che abilita le decorazioni di sistema e il supporto IME su tutti i display secondari. Funziona per i display di proprietà del sistema, come i pannelli fisici o un display simulato, ma potrebbe essere limitato per i display virtuali di proprietà delle app.
Per la produzione, fornire il file di configurazione predefinito. Per i dettagli, vedere:
- Configurazione delle impostazioni delle finestre di visualizzazione e delle decorazioni del sistema
- Decorazioni di sistema
Come posso configurare le attività per display specifici?
Utilizza LaunchParamsController
, che intercetta tutti gli avvii di attività e consente a un componente di sistema di modificare i parametri utilizzati per l'avvio. È attualmente disponibile all'interno di system_server
.
È possibile sbloccare un dispositivo da uno schermo secondario?
L'implementazione predefinita della schermata di blocco in Android 10 non è interattiva e non consente lo sblocco. Un OEM può implementare la propria schermata di blocco purché venga mantenuto il requisito di sicurezza fondamentale.
- Lo stato di blocco del dispositivo è globale.
- Si applica a tutti i display.
Come posso visualizzare un IME su un display diverso da quello di destinazione?
Un IME può essere visualizzato solo su un display configurato in DisplayWindowSettings
. Se la configurazione non è abilitata per un display in cui è richiesto l'input, l'IME viene visualizzato sul display predefinito.
Come posso inviare sempre gli eventi chiave a un display specifico?
Una tastiera è considerata una sorgente di input non mirata, quindi l'input va alla finestra focalizzata più in alto nel sistema. Per un esempio di input chiave mirato, vedere l'implementazione del pulsante Indietro/Home nella classe PhoneWindowManager. Questi tasti si rivolgono solo al display mentre vengono visualizzati in Android 10.
Come viene gestito l'audio?
Android 10 non contiene grandi miglioramenti in questo ambito. Il supporto audio multizona per Auto è stato aggiunto in Android 10, ma rimane in sospeso una soluzione generica per gestire flussi audio mirati separati.
È possibile visualizzare la stessa app su più display?
Se l'app lo supporta, è possibile creare più istanze delle attività dell'app. Per impostazione predefinita, ciascuno viene eseguito con lo stesso processo. Un esempio di tale app è Chrome. È conveniente testarlo utilizzando un esempio di Launcher , che consente il lancio di un'attività mirata e una richiesta per una nuova istanza.
È possibile creare più istanze della stessa app per schermi/utenti diversi?
AOSP non ti consente di creare più sandbox e processi separati della stessa app per lo stesso utente. I casi d'uso associati a questa richiesta richiedono il supporto multiutente simultaneo anziché la separazione a livello di app.
Se diversi utenti desiderano utilizzare la stessa app, devono accedere con i propri profili. La separazione a livello di app richiede l'accesso all'app per ogni sessione. In caso contrario, i dati di altri utenti potrebbero essere ancora presenti.
Android 10 supporta più utenti?
No. Android 10 supporta un singolo utente che ha effettuato l'accesso.
,Android 10 supporta VSYNC per display?
Non ancora. Il VSYNC del display predefinito in Android 10 gestisce tutti i display.
È possibile accendere o spegnere i display individualmente?
In Android 10, l'implementazione dello stato di alimentazione del dispositivo è principalmente globale e determinata dallo stato di alimentazione del display predefinito. Solo i display virtuali possono essere accesi/spenti individualmente, impostando la superficie su null
). Activity/WindowManager risponde a questo cambiamento di stato.
Come posso configurare dinamicamente l'associazione input-display?
Non esiste un modo integrato per configurare dinamicamente l'associazione tra un input e un dispositivo in Android 10, ma nella maggior parte dei casi è possibile applicare alcune soluzioni alternative. Vedi Routing di ingresso per i dettagli.
Come abilito le decorazioni di sistema su un display?
Per i test, il metodo più semplice consiste nell'utilizzare l'opzione sviluppatore Forza Desktop Mode, che abilita le decorazioni di sistema e il supporto IME su tutti i display secondari. Funziona per i display di proprietà del sistema, come i pannelli fisici o un display simulato, ma potrebbe essere limitato per i display virtuali di proprietà delle app.
Per la produzione, fornire il file di configurazione predefinito. Per i dettagli, vedere:
- Configurazione delle impostazioni delle finestre di visualizzazione e delle decorazioni del sistema
- Decorazioni di sistema
Come posso configurare le attività per display specifici?
Utilizza LaunchParamsController
, che intercetta tutti gli avvii di attività e consente a un componente di sistema di modificare i parametri utilizzati per l'avvio. È attualmente disponibile all'interno di system_server
.
È possibile sbloccare un dispositivo da uno schermo secondario?
L'implementazione predefinita della schermata di blocco in Android 10 non è interattiva e non consente lo sblocco. Un OEM può implementare la propria schermata di blocco purché venga mantenuto il requisito di sicurezza fondamentale.
- Lo stato di blocco del dispositivo è globale.
- Si applica a tutti i display.
Come posso visualizzare un IME su un display diverso da quello di destinazione?
Un IME può essere visualizzato solo su un display configurato in DisplayWindowSettings
. Se la configurazione non è abilitata per un display in cui è richiesto l'input, l'IME viene visualizzato sul display predefinito.
Come posso inviare sempre gli eventi chiave a un display specifico?
Una tastiera è considerata una sorgente di input non mirata, quindi l'input va alla finestra focalizzata più in alto nel sistema. Per un esempio di input chiave mirato, vedere l'implementazione del pulsante Indietro/Home nella classe PhoneWindowManager. Questi tasti si rivolgono solo al display mentre vengono visualizzati in Android 10.
Come viene gestito l'audio?
Android 10 non contiene grandi miglioramenti in questo ambito. Il supporto audio multizona per Auto è stato aggiunto in Android 10, ma rimane in sospeso una soluzione generica per gestire flussi audio mirati separati.
È possibile visualizzare la stessa app su più display?
Se l'app lo supporta, è possibile creare più istanze delle attività dell'app. Per impostazione predefinita, ciascuno viene eseguito con lo stesso processo. Un esempio di tale app è Chrome. È conveniente testarlo utilizzando un esempio di Launcher , che consente il lancio di un'attività mirata e una richiesta per una nuova istanza.
È possibile creare più istanze della stessa app per schermi/utenti diversi?
AOSP non ti consente di creare più sandbox e processi separati della stessa app per lo stesso utente. I casi d'uso associati a questa richiesta richiedono il supporto multiutente simultaneo anziché la separazione a livello di app.
Se diversi utenti desiderano utilizzare la stessa app, devono accedere con i propri profili. La separazione a livello di app richiede l'accesso all'app per ogni sessione. In caso contrario, i dati di altri utenti potrebbero essere ancora presenti.
Android 10 supporta più utenti?
No. Android 10 supporta un singolo utente che ha effettuato l'accesso.