Android实现系统语言切换功能

2019-12-10 18:52:21丽君

这样我们利用JAVA的反射机制,调用那些隐藏的方法就可以实现了。

需要注意的是调用此方法:

// objIActMag.updateConfiguration(config);
mtdIActMag$updateConfiguration.invoke(objIActMag, config);

需要加上权限:

android.permission.CHANGE_CONFIGURATION

并且此处会重新调用onCreate方法,我就在这个地方处被坑了一把。(如果调用此方法的时候做了一些逻辑,就注意下)。

最后声明:

既然是更改系统的配置当然你的签名也应该是系统签名和sharedUserId。不然会类似以下的错误!

error:

java.lang.SecurityException: Permission Denial: updateConfiguration() from pid=31594, uid=10099 requires android.permission.CHANGE_CONFIGURATION

各位都注意下吧~



注:相关教程知识阅读请移步到Android开发频道。