您的位置:首页 > 移动开发

小记!华为 8.0系统切换APP内语言(中英文)无效(其他版本手机均有效)。

2018-03-07 18:05 465 查看
在设置完语言后进行冷启动,其他手机均可以设置成功,但华为8.0新系统手机无效,最终从如下两点解决。
1、在切换完语言后进行冷启动时,对冷启动进行延时处理。(怀疑是没处理完设置流程,直接杀死进程造成)
//设置语言
private void changeLanguage(int i) {
MultiLanguageUtil.getInstance().setConfiguration(i);//自己写的设置方法
new Handler().postDelayed(new Runnable() {
@Override
public void run() {
if (FileUtils.isAndroidM()) { // 7.0以上需要重启(冷启动)应用才能生效
AppUtils.restartApp();//冷启动方法,自己写
} else { // 重新创建Activity
AppUtils.restartAppByActivity();
}
}
},500);

}
2、查看activity基类的getResources方法返回的context是否为application的context。(怀疑为其他版本手机对context进行了优化,所以要求不严格)
public Resources getResources() {
       //自己定义Application获取context的方法Application.getAppContext();
Resources res = Application.getAppContext().getResources();
return res;}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
相关文章推荐