我要自己写一个Setting,里面有设置区域语言的功能。看了源码中Settings的代码,但是很多类都被hide掉了。后来发现有个博客里有这么一段
Resources res=context.getResources();
Configuration conf=res.getConfiguration();
conf.locale=new Locale(lan.getTag().toString());
DisplayMetrics dm=res.getDisplayMetrics();
res.updateConfiguration(conf, dm);
设置后只更改当前应用程序的语言,而且界面一直闪。我估计是系统的语言设置和应用的语言设置冲突的原因。于是参考Settings的代码,通过反射实现。
需要添加android.permission.CHANGE_CONFIGURATION权限