前言
记录一下Android语言切换,网上也很多,这里摘抄于此方便自己查阅
正文
下面代码都测试过,验证ok
方式一
private void language(Locale locale) {
try {
LocalePicker.updateLocale(locale == Locale.ENGLISH ? Locale.SIMPLIFIED_CHINESE : Locale.ENGLISH);
} catch (Exception e) {
e.printStackTrace();
}
}
方式二
反射
private void language(Locale locale) {
try {
Class iActivityManager = Class.forName("android.app.IActivityManager");
Class activityManagerNative = Class.forName("android.app.ActivityManagerNative");
Method getDefault = activityManagerNative.getDeclaredMethod("getDefault");
Object objIActMag = getDefault.invoke(activityManagerNative);
Method getConfiguration = iActivityManager.getDeclaredMethod("getConfiguration");
Configuration config = (Configuration) getConfiguration.invoke(objIActMag);
config.locale = locale;
Class clzConfig = Class.forName("android.content.res.Configuration");
java.lang.reflect.Field userSetLocale = clzConfig.getField("userSetLocale");
userSetLocale.set(config, true);
Class[] clzParams = {Configuration.class};
Method updateConfiguration = iActivityManager.getDeclaredMethod("updateConfiguration", clzParams);
updateConfiguration.invoke(objIActMag, config);
// BackupManager.dataChanged("com.android.providers.settings");
} catch (Exception e) {
e.printStackTrace();
}
}
参考文章
历史上的今天
暂无评论...
随机推荐
周国平:享受智力活动的快乐
人不但应该享受生命,而且人还有一个更高的层次,就是人是有精神属性的,人应该享受自己的精神属性,享受精神的快乐。精神需要的满足,精神能力的生长和发展,是人生幸福更加重要的源泉和方面。那么,人有哪些精神需要,有些什么样的精神能力呢?我套用柏拉图的一个分类,不过可能跟他的原意不太一样。我们可以把人...
lateinit和by lazy简单使用
前言记录一下Kotlin中lateinit和by lazy简单使用。正文lateinit为延迟初始化属性。lateinit用于延迟初始化一个var可变属性。属性类型必须是非空的且不能是原始类型(如 Int, Double)。经常在类中定义属性时class Person{ v...
北岛:回答
卑鄙是卑鄙者的通行证,高尚是高尚者的墓志铭,看吧,在那镀金的天空中,飘满了死者弯曲的倒影。 冰川纪过去了,为什么到处都是冰凌?好望角发现了,为什么死海里千帆相竞? 我来到这个世界上,只带着纸、绳索和身影,为了在审判之前,宣读那些被判决的声音。 ...
Android 对Bitmap的一些操作记录
前言Android中对Bitmap的操作很多,比如缩放,裁剪,旋转等,这里简单记录一下,方便自己查阅。PS: 参考别人内容修改,部分内容有改动和自己的理解。正文Matrix对Bitmap的操作大都需要Matrix支持,Matrix 通过矩阵来处理位图,计算出各个像素点的位置,从而把bit...
shape之gradient属性简介
gradient属性简介在drawable文件夹中创建shape_gradient.xml资源。<?xml version="1.0" encoding="utf-8"?><shape xmlns:android="http://schemas.android.com/ap...
adb命令打印cpu信息
有时候系统出现问题可能和当前的 CPU 等资源紧张有关系。那么如何实时打印系统当前的 CPU 占用的情况呢?输入命令:adb shell top -m 5该命令会打印当前使用 CPU 前5位的进程相关的信息,每隔1s更新一次User 6%, System 3%, IOW 0%, ...