码迷,mamicode.com
首页 > 移动开发 > 详细

Android应用内语言切换实现(转)

时间:2015-05-21 17:25:03      阅读:160      评论:0      收藏:0      [点我收藏+]

标签:

使用Java反射机制

IActivityManager与ActivityManagerNative都是非公开类,使用Java反射去调用其中的方法。

第一步、使用Android开放的api更改Configuration,同时把语言类型保存下来

技术分享

第二步、Destroy当前页面,重新绘制才能更改语言类型

技术分享

如果你的页面不是首页,你调用上述代码只会更新当前页面,压在栈中的Activity依然不会更新界面。比如微信设置语言成功后,会自动跳转到首页,当然首页的内容也是更新后的,它的实现方式也很简单,与我们上面写的大同小异。就是监听设置成功后,destroy所有存在的页面,再跳转到首页。这时你的app就能满足了上面的需求了,可是别急还有第三步。

第三步、只要你的应用不彻底从Dalvik或者ART中彻底移除,上述都没问题。但是如果重新开机,或者强制杀掉应用,再次启动,就恢复到以前的语言类型了。

技术分享

这会我们就用到第一步中保存的语言的类型了,在所有页面的基类BaseActivity中,每次都调用下语言设置的方法,这样就能把页面给强制设置成业务需求的语言类型了。OK,这个问题就完满解决了,要为你的APP添加这个功能的话,对代码的改动是非常小的。

Android应用内语言切换实现(转)

标签:

原文地址:http://www.cnblogs.com/alanfang/p/4520115.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!