现在我们开发了一个英文版的App,为了测试英文版,经常需要把手机系统语言设置为英文。为了避免这个麻烦,我想在应用内添加一个切换语言的功能,核心代码如下:

private void changeLanguage(Locale locale) {
	Locale.setDefault(locale);
	Resources resources = getResources();
	android.content.res.Configuration config = resources.getConfiguration();
	DisplayMetrics dm = resources.getDisplayMetrics();
	config.locale = locale;
	resources.updateConfiguration(config, dm);
}

以下代码是重新启动App

public void restartApp() {
    changeLanguage();
    Intent i = getBaseContext().getPackageManager()
            .getLaunchIntentForPackage(getBaseContext().getPackageName());
    i.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
    startActivity(i);
}

本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!

分享一个正则表达式 上一篇
Java关键字transient和volatile 下一篇