J'essaie de créer un exemple d'application qui effectue une action uniquement sur un changement de paramètres régionaux. J'ai implémenté onConfigurationChanged (...) et j'aimerais rediriger un utilisateur vers une activité différente uniquement lors d'un changement de paramètres régionaux. L'activité qui écoute les modifications des paramètres régionaux est également à l'écoute des changements d'orientation (ce que j'ai fait dans le manifeste).Android - différencier les changements de configuration
Ma question est, est-il un moyen de différencier entre les deux changements de configuration?
L'activité est déclarée dans le manifeste comme ceci:
<activity android:name=".views.MainActivity"
android:configChanges="layoutDirection|locale|orientation|screenSize"/>
Et la méthode onConfigurationChange (..) est comme ceci:
@Override
public void onConfigurationChanged(Configuration newConfig) {
super.onConfigurationChanged(newConfig);
// should execute only on locale change
Intent intent = new Intent(this, SecondActivity.class);
startActivity(intent);
}
Nice, vous pourriez éviter d'utiliser SharedPreferences en stockant une référence à l'environnement local précédent dans onCreate (la première fois les charges d'activité avant toute modification des paramètres régionaux se produisent), puis comparer les deux locales. – user1841702
Bien sûr, cela le rend encore plus simple. Je n'ai pas pensé à ça, mais je suis content que je puisse aider :) – babadaba