2011-12-13 41 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。

相關問題