我正在尝试在我的应用上更改整个Android手机系统的语言,因为我们的目标是自定义设置应用。
我试过这个,但没有用:
Configuration conf = Resources.getSystem().getConfiguration();
conf.locale = toSet; //toSet is a Locale which I want to set to the system
conf.setToDefaults();
另一个尝试也不起作用:
Locale.setDefault(toSet)
有一些方法可以改变应用程序的语言,但不能改变系统。
我有什么方法可以达到目标吗? 获得root权限对我有用吗? 或者有什么方法可以修改Intent-Activity的UI界面吗?
我发现,在源代码中,"platform/packages/apps/Settings/src/com/android/settings/LocalePicker.java", "com.android.internal.app.LocalePicker" might help, and in the "platform/frameworks/base/core/java/com/android/internal/app",
有一个名为“updateLocale”的函数,我想这可能会有所帮助,但是诸如“IActivityManager”之类的类会导致Eclipse中的编译错误。
有没有人有任何想法?谢谢!
答案 0 :(得分:1)
试试这个
String languageToLoad = "zh";
Locale locale = new Locale(languageToLoad);
Locale.setDefault(locale);
Configuration config = new Configuration();
config.locale = locale;
getBaseContext().getResources().updateConfiguration(config, null);
AndroidManifest:
添加android:configChanges="locale"