私のアプリには、デバイスのロケールが変更されたときに呼び出されるブロードキャスト受信機があります。 Locale.getDefault()が失効/以前の値を返すNexus 5xやGalaxy S8 +など、いくつかのデバイスのアプリにバグがあります。ローカライズされた文字列は新しい言語では正しく表示されていますが、アプリケーション内ではロケールが古くなっています。何か案は?一部のAndroidデバイスでLocale.getDefault()が古くなっています
例:私はドイツ語は多くのデバイスではなく、すべてのデバイスのためにここに返されて表示さ
1) Device is in English -> App locale tells us we are in English.
2) Background the app and change the device language to German
3) App receives the locale changed broadcast event, Locale.getDefault() returns English instead of German
。
残念ながら、これらの各メソッドは同じ失効値を返します。 –