2011-12-13 21 views
9

Estoy escribiendo algunas pruebas de automatización de Android para nuestras aplicaciones, que están ubicadas en 18 idiomas.Cambiar de idioma de programa en un dispositivo Android

Necesito la capacidad de cambiar el idioma del dispositivo mediante programación, no me refiero a cambiar el idioma de la aplicación, es decir, cambiar el idioma real del dispositivo en la configuración de Android, de esa manera nuestra aplicación también cambia.

¿Hay alguna forma de que pueda lograr esto a través de MonkeyRunner, el Android Debug Bridge o de otra manera? Idealmente, me gustaría una forma que funcione tanto en el emulador de Android como en un dispositivo físico.

Gracias.

Respuesta

4

finalmente descubrió que puede hacer esto a través de la cual he Android Debug Bridge acaba de instalar en mi máquina de prueba y se añade a la variable PATH ventanas.

Por ejemplo, el comando para cambiar el idioma del dispositivo al alemán sería:

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

necesitará un dispositivo de raíces para que esto funcione.

1

Puede cambiar el local de la siguiente manera:

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

¿Esta configuración es la configuración regional del código de aplicaciones móviles? Si es así, no creo que haya leído mi pregunta correctamente: necesito cambiar el idioma del dispositivo, desde una aplicación de automatización independiente de mi código de aplicaciones móviles. –

0

Puede escribir un script, que envía una transmisión a una aplicación auxiliar como adb send broadcast y esta aplicación cambia su configuración dentro del dispositivo como el idioma del dispositivo donde puede usar ese código de @iSun.

Cuestiones relacionadas