zoukankan      html  css  js  c++  java
  • Android应用内语言切换实现(转)

    使用Java反射机制

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

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

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

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

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

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

  • 相关阅读:
    sharepoint具体错误提示
    体验魅力Cognos BI 10 系列,第1 部分: 第一次安装
    Moss、SharePoint数据库迁移问题(转)
    XML解析
    JDBC进阶
    JDBC的操作
    项目Contact开发中遇到的,引以为戒
    递归练习
    递归详解(四)
    递归详解(三)
  • 原文地址:https://www.cnblogs.com/alanfang/p/4520115.html
Copyright © 2011-2022 走看看