ユーザーの選択に基づいてアプリケーションのロケールを変更しています。デバイスのロケールに依存しません。
使用して
public void setDefaultLocale(Context context, String locale) {
Locale appLoc = new Locale(locale);
Locale.setDefault(appLoc);
Configuration appConfig = new Configuration();
appConfig.locale = appLoc;
context.getResources().updateConfiguration(appConfig,
context.getResources().getDisplayMetrics());
}
しかし、デバイスのロケールも知りたいです。
これを取得しようとすると、アプリケーションに設定したロケールを常に取得します。
例: アプリケーションは英語で、デバイスは中国語です。私はいつも英語を学んでいます。
使用してロケールを取得するために、
オプション1。
String locale = context.getResources().getConfiguration().locale.getCountry();
オプション 2。
String local_country = ((Activity) context).getBaseContext().getResources().getConfiguration().locale.getCountry();
どんな助けでも大歓迎です!!!