设置系统的语言
16lz
2021-12-04
近日的项目中,需要编写设置系统语言的方法,之后,在同事和网上的信息的帮助下,成功实现了这一功能。
try {Class<?> amnClass = Class.forName("android.app.ActivityManagerNative");ActivityManager activityManager = (ActivityManager)amnClass.getMethod("getDefault").invoke(amnClass,null);Configuration config = (Configuration)activityManager.getClass().getMethod("getConfiguration").invoke(activityManager, null);config.getClass().getDeclaredField("locale").set(config, Locale.ENGLISH);config.getClass().getDeclaredField("userSetLocale").setBoolean(config, true);activityManager.getClass().getMethod("updateConfiguration", Configuration.class).invoke(activityManager, config);} catch (ClassNotFoundException e) {e.printStackTrace();} catch (IllegalArgumentException e) {e.printStackTrace();} catch (IllegalAccessException e) {e.printStackTrace();} catch (InvocationTargetException e) {e.printStackTrace();} catch (NoSuchMethodException e) {e.printStackTrace();} catch (NoSuchFieldException e) {e.printStackTrace();}
android源代码下的设置语言操作,参见:/frameworks/base/core/java/com/android/internal/app/LocalePicker.java
更多相关文章
- android 开机直接运行app并当做手机桌面
- Android(安卓)EditView
- Android(安卓)EditText 设置行距不影响光标高度
- Android(安卓)Settings
- Hello Android(安卓)- android窗体透明的,黑暗度等的设置技巧
- Android(安卓)屏幕设置
- Android无法解锁debug
- scrollview 滚动条
- Android(安卓)属性动画(Property Animation) 完全解析 (下)