2011-12-13 43 views
9

我正在为我们的应用程序编写一些Android测试自动化,这些应用程序已本地化为18种语言。以编程方式在Android设备上切换语言

我需要能够以编程方式在设备上切换语言 - 我不是要切换应用程序的语言 - 我的意思是在Android设置中切换实际设备语言,这样我们的应用程序切换也是如此。

有没有什么办法可以通过MonkeyRunner,Android调试桥或其他方式实现?理想情况下,我想要一种既适用于android模拟器又适用于物理设备的方式。

谢谢。

回答

4

终于想通了,你可以通过它我刚刚安装在我的测试机上,并添加到Windows PATH变量Android Debug Bridge做到这一点。

例如,命令切换装置语言为德文是:

adb shell "su -c 'setprop persist.sys.language de; setprop persist.sys.country de; stop; sleep 5; start' 

您将需要一个植根设备,以便为这个工作。

1

您可以更改本地这样的:

Resources res = context.getResources(); 
    // Change locale settings in the app. 
    DisplayMetrics dm = res.getDisplayMetrics(); 
    android.content.res.Configuration conf = res.getConfiguration(); 
    conf.locale = new Locale(language_code.toLowerCase()); 
    res.updateConfiguration(conf, dm); 
+3

这是从移动应用程序代码设置的语言环境吗?如果是这样,我认为您没有正确地阅读我的问题 - 我需要从独立于我的移动应用程序代码的自动化应用程序切换设备语言。 – 2011-12-13 20:26:54

0

您可以编写一个脚本,将脚本发送给助手应用程序,如adb send broadcast,该应用程序会在设备内更改您的配置,如设备语言,您可以使用该代码的@iSun。

相关问题