Android以编程方式更改根手机上的语言

Android以编程方式更改根手机上的语言,android,locale,root,launcher,Android,Locale,Root,Launcher,我知道在这个话题上有几个问题已经得到了回答,但我有一个更具体的问题。 我尝试过实现,但没有成功(只是它没有改变语言,不知道是不是我的实现出了问题…) 搜索我找到的,即: os.writeBytes("setprop persist.sys.language en; setprop persist.sys.country en; stop; sleep 5; start" + "\n"); 同样的 os.writeBytes("setprop persist.sys.language it; s

我知道在这个话题上有几个问题已经得到了回答,但我有一个更具体的问题。 我尝试过实现,但没有成功(只是它没有改变语言,不知道是不是我的实现出了问题…)

搜索我找到的,即:

os.writeBytes("setprop persist.sys.language en; setprop persist.sys.country en; stop; sleep 5; start" + "\n");
同样的

os.writeBytes("setprop persist.sys.language it; setprop persist.sys.country it; setprop ctl.restart zygote" + "\n")
这工作得很好,除了它确实重新启动了手机(它不会重新启动手机,但这是一种重新启动)。 我知道“问题”在于
停止;睡觉启动
part,但将其保留在外返回更改但无效:系统区域设置已更改,但仅在手机重新启动后才会显示效果(即:重新启动后,语言已更改)

仅仅因为改变了语言就强行重启手机,这真的很烦人;我确信可以使更改生效(默认设置应用程序可以做到这一点),我认为(我不确定)在更改语言后,会触发一种意图,所有应用程序都会检查新语言是否显示

有人知道我怎么会达到这样的结果吗

我有一个根手机,所以我对权限没有问题:)


提前谢谢

我正在努力解决这个问题,我只想分享我最后一次(失败)的结果。。。广播来自adb的“android.intent.action.LOCALE_CHANGED”不会起作用:|。。。。继续努力!