2011-12-13 20 views
9

18言語にローカライズされた、私たちのアプリケーション用のAndroidテストオートメーションを書いています。Androidデバイスで言語をプログラム的に切り替え

デバイスの言語をプログラムで切り替える機能が必要です - アプリケーションだけの言語を切り替えるという意味ではありません。Androidの設定で実際のデバイス言語を切り替えるという意味です。

私はこれをMonkeyRunner、Android Debug Bridgeまたはそれ以外の方法で実行できますか?理想的には、アンドロイドエミュレータと物理デバイスの両方で動作する方法が欲しいです。

ありがとうございました。

答えて

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

この設定はモバイルアプリケーションコードのロケールですか?もしそうなら、私はあなたが私の質問を正しく読んでいるとは思わない - 私はモバイルアプリケーションのコードから独立したオートメーションアプリケーションから、デバイス言語を切り替える必要があります。 –

0

adb send broadcastのようなヘルパーアプリにブロードキャストを送信するスクリプトを書くことができます。このアプリは、@iSunのコードを使用できるデバイス言語のようなデバイス内の設定をデバイス内で変更します。

関連する問題