我知道可以通过res / string在单个应用程序中使用多种语言,具体取决于Locale . 这是一个案例(ANDROID) controling the user language
现在我该如何更改手机中的语言?就像我通过菜单>设置>语言和键盘>选择区域设置>语言一样
是否有一些真正的代码可以访问这些设置?或者我应该为语言设置的快捷方式创建意图 . 请发一些代码
编辑:使用Locale类developer.android.com/intl/fr/reference/java/util/Locale.html
构造函数至少是Locale(String language)输入是语言 . 如何检索设备上使用的当前语言?
5 回答
不确定是否直接从应用程序设置它,但如果您想将用户发送给自己进行更改,请尝试以下操作:
还有另一种方法可以打开系统设置来更改语言:
它只显示语言列表,当您选择一种语言时 - 它会更改设备上的语言 .
我找到了自己问题的另一个答案 . 有一个开源代码项目code.google.com/p/languagepickerwidget它正在重新创建一个ListActivity来显示和选择语言 .
吉姆,你的解决方案非常简单,正是我所需要的 . 这是设置的重点 . 在您发布后,我立即在市场上上传了一个名为“raygional”的应用 . 如果我能(我只有6分),我会让你的答案有用 .
还有另一种方法可以查看流程和意图 . 在模拟器上,转到菜单>开发工具>开发设置>,然后单击显示正在运行的进程
据我所知,在不使用Intents(其他解决方案建议的内容)的情况下更改设备的Locale的唯一方法是通过反射访问内部类(具有这意味着的风险) .
您可以在此处找到此用例的确切示例:http://www.tutorialforandroid.com/2010/07/access-internal-classes-in-android.html
如果您将意图更改为:以扩展Jim的答案:
它会直接在语言选择列表中删除用户,一旦选择了语言,它将返回到您的应用程序 .
它会删除单击,不会让用户考虑选择三个(语言,词典和键盘)选项中的哪一个,并在选择后立即返回到您的应用程序 .