ApplicationオブジェクトのonCreateメソッドに、ApplicationContextの構成のデフォルトのローカルを変更するコードが少しあります。
次のようになります。
Locale locale = new Locale(sSavedLocale);
Locale.setDefault(locale);
Configuration config = new Configuration();
config.locale = locale;
getResources().updateConfiguration(config, getResources().getDisplayMetrics());
私たちが主な活動を開始し、そこから他の活動やタスクを開始するよりも。画面の回転などの構成変更を引き起こさない限り、すべて問題ありません。画面を回転させると、アプリケーションオブジェクトは同じままですが、ロケールはデバイスのデフォルトに戻ります。
ActivityThreadおよびその他の内部クラスのAndroidSrouceコードを掘り下げると、ApplicationContext自体が表示され、構成変更イベントでmainThreadのコンテキストがデフォルトに戻されます。
iiはアプリの起動時にアプリケーションレベルで構成を設定するので、私にはバグのように思えます。ローカル構成の変更が発生しない限り、おそらく変更を維持したいと思います。
未解決のバグをチェックしませんでした。適用することを考えています。誰かが私が間違っていると思います、そしてこれは大丈夫な行動ですか?