Il sistema Android attiva una modifica di configurazione ogni volta che una tastiera viene collegata o scollegata da un dispositivo. Per garantire un'esperienza utente fluida e massimizzare la produttività degli utenti su dispositivi con schermi di grandi dimensioni e tastiere rimovibili, la tua app deve gestire in modo efficace le modifiche alla configurazione della tastiera.
Impedire la ricreazione delle attività in caso di cambio tastiera
Per impedire che l'attività venga ricreata quando una tastiera rimovibile è collegata o scollegata, aggiungi valori relativi alla tastiera all'attributo configChanges
del file manifest dell'app e aggiungi una visualizzazione alla gerarchia delle visualizzazioni dell'attività in modo che l'app possa ascoltare le modifiche alla configurazione.
1. Dichiarare l'attributo configChanges
Aggiorna l'elemento <activity>
nel file manifest dell'app aggiungendo i valori keyboard|keyboardHidden
all'elenco delle modifiche di configurazione già gestite:
<activity
...
android:configChanges="...|keyboard|keyboardHidden">
2. Aggiungere una visualizzazione vuota alla gerarchia delle visualizzazioni
Dichiara una nuova vista e aggiungi il codice del gestore all'interno del metodo
onConfigurationChanged()
della vista:
Kotlin
val v = object : View(this) { override fun onConfigurationChanged(newConfig: Configuration?) { super.onConfigurationChanged(newConfig) // Handler code here. } }
Java
View v = new View(this) { @Override protected void onConfigurationChanged(Configuration newConfig) { super.onConfigurationChanged(newConfig); // Handler code here. } };
Punti chiave
android:configChanges
: attributo dell'elemento<activity>
del manifest dell'app. Informa il sistema sulle modifiche alla configurazione gestite dall'app.View#onConfigurationChanged()
: metodo che reagisce alla propagazione di una nuova configurazione dell'app.
Risultati
Ora la tua app risponde al collegamento o allo scollegamento di una tastiera esterna senza ricreare l'attività in esecuzione.
Raccolte che contengono questa guida
Questa guida fa parte di queste raccolte di guide rapide selezionate che coprono obiettivi di sviluppo Android più ampi:
![](https://developer.android.google.cn/static/images/quick-guides/collection-illustration.png?hl=it)