Android の Locale などの Configuration 値を切り替えるには、IActivityManager
の updateConfiguration()
メソッドを呼び出す必要があります。
ただし、ActivityManagerNative
などは hide クラスとして定義されており、一般のアプリ開発者は以下のコードはビルドできません。
IActivityManaager am = ActivityManagerNative.getDefault();
try {
Configuration config = am.getConfiguration();
config.XXXX = YYYY;
am.updateConfiguration(config);
} catch (RemoteException e) {
e.printStackTrace();
}
以下のコードは、Locale を変更する方法を示しています。
IActivityManager am = ActivityManagerNative.getDefault();
Configuration config = am.getConfiguration();
config.locale = locale;
config.userSetLocale = true;
am.updateConfiguration(config);