我们有一个Android应用程序,可用作远程PC程序的客户端。我们希望添加一项功能,以便PC可以指示Android应用程序在运行时更改其区域设置,即启动应用程序;把它与个人电脑沟通;稍后,PC会告诉应用程序切换到西班牙语或中文。在运行时更改语言环境?
我们已经为其各自的语言环境设置了所有布局和字符串资源。我们的应用程序是用户看到的唯一应用程序,因此如果设备的其余部分保持英语,则无关紧要。
还有另一个线程在Change language programmatically in Android,但它似乎没有得出结论。
我可以放。 。 。
Locale locale = new Locale(sTheNewLocale);
Locale.setDefault(locale);
Configuration config = new Configuration();
config.locale = locale;
getBaseContext().getResources().updateConfiguration(config,
getBaseContext().getResources().getDisplayMetrics());
。 。 。在onCreate()之前的setContentView()但这并没有真正的帮助,如果我想在我的屏幕启动并运行后更改区域设置。有没有办法在Activity已经运行后重新加载内容视图?所以是有没有切实可行的方法来更改区域设置或我必须告诉我的老板,除了在启动应用程序之前将整个设备设置为新的区域设置之外,无法完成此任务?
方法'updateConfiguration()'已弃用。这是一个非弃用的解决方案:http://stackoverflow.com/questions/40221711/android-context-getresources-updateconfiguration-deprecated – wilkas
config.locale也被折旧 –
@HasanAliKaraca这也包括在链接的答案。 – weston