From:http://shigongbo.blog.163.com/blog/static/976090201362105045309/


Android重启应用程
Intent i = getBaseContext().getPackageManager().getLaunchIntentForPackage(getBaseContext().getPackageName());i.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);startActivity(i);


使用系统设置中的API会改变系统的语言,在onpause等去改变语言,效果不是太好。

另外下面的方法只有在新启动的activity中才能生效。

 public void switchLanguage(Locale locale) {        Resources resources = getResources();// 获得res资源对象        Configuration config = resources.getConfiguration();// 获得设置对象        DisplayMetrics dm = resources.getDisplayMetrics();// 获得屏幕参数:主要是分辨率,像素等。        config.locale = locale; // 简体中文        resources.updateConfiguration(config, dm);    }

新浪微博以及微信都有多语言项,而且都是在设置界面。也就是说除了当前切换语言界面还有其它已启动的activity存在。

新浪微博使用重新启动的方式实现,微信则看似没有重新启动应用。我猜测分析发现其是将现有的activity栈中的除首页外都finish了,然后手动的将首页activity切换语言。这样就完美实现了。


更多相关文章

  1. android textview 实现跑马灯效果
  2. Android获得手机信息
  3. http://www.jb51.net/list/list_233_2.htm(导航: 首页 >> 软件编
  4. Android强制让某个控件获得焦点
  5. android 左右翻页
  6. android获得设备信息
  7. button selector 样式
  8. Android获得摄像头详细信息
  9. Android(安卓)Interface Definition Language (AIDL) android接

随机推荐

  1. android intent-filter
  2. android生成二维码的核心代码
  3. NetworkDetector: uses android.telephon
  4. SurfaceFlinger启动过程分析(一)、(二)、(三)、
  5. 关于AlertDialog.getWindow().setContent
  6. [Flutter]监听Android返回键事件
  7. android 自定义ripple水波纹点击效果
  8. Android(安卓)Studio-2.3 打包运行App报
  9. Android仿微信图片选择器(二)
  10. Android文本输入框EditView不可输入不可