2 votos

Cambiar el idioma del sistema de localización a través de ADB a partir de Android 6.0

Para las pruebas manuales de la interfaz de usuario, en mi Android 6.0 y 7.0 dispositivos, utilizo un acceso directo para acceder a las preferencias de idioma a través de ADB, y luego elijo uno de los tres idiomas ar_DZ, en_GB, fr_FR manualmente

adb shell am start -n com.android.settings/.Settings\$LocalePickerActivity

Pregunta: es posible automatizar la tarea de cambiar la configuración regional del sistema (sin root) ¿a través de ADB?

1voto

beeshyams Puntos 82

Esta solución no utiliza adb directamente, pero cumple con el resultado final utilizando la automatización en los dispositivos no rooteados

macrodroide es la opción preferida de automatización para mí, siendo simple y libre hasta 5 macros

Pasos preliminares

  • Instalar Macrodroid y conceder todos los permisos que pide

  • Las acciones deseadas por el OP requieren de Root. Macrodroid ofrece una manera de hacerlo por sin root utilizando adb métodos, explicados aquí . En esencia, se trata de conceder WRITE_SECURE_SETTINGS y CHANGE_CONFIGURATION ejecutando los siguientes comandos

adb shell pm grant com.arlosoft.macrodroid android.permission.WRITE_SECURE_SETTINGS

seguido de

adb shell pm grant com.arlosoft.macrodroid android.permission.CHANGE_CONFIGURATION

Reinicie para asegurarse de que los comandos se actualizan en la aplicación

Creación de macros y pruebas

  • Disparador : Seleccione el disparador vacío

  • Acción : Establecer idioma → francés → Francia ( correspondiente a fr_FR)

  • Restricciones : Dejar en blanco

  • Pruébelo seleccionando Macro de prueba en el menú de 3 puntos de la macro. El idioma del sistema debería cambiar al francés. Guardar la macro por ejemplo Francés . Cree dos macros similares para las otras dos opciones

Crear un acceso directo a la pantalla de inicio

Normalmente, si haces una pulsación larga en la pantalla de inicio, encontrarás el icono de la colección de widgets. Entre ellos encontrarás los widgets de Macrodroid. Uno de ellos es Atajos del macrodroide . Arrastra y suelta eso a tu pantalla de inicio , te preguntará a qué macro debe asignarse , mientras muestra una lista de Macros. Seleccione la macro y cambie el nombre del widget, por ejemplo, francés. Al pulsar sobre ese widget se ejecuta la macro correspondiente. Repita la operación para otras macros. Si utiliza un lanzador personalizado, tendrá que buscar cómo acceder a la colección de widgets

Notas

  • La selección del menú desplegable para los idiomas se puede implementar, pero eso requeriría otra macro. Además, este método de un icono de acceso directo en el escritorio para cada idioma lo hace más sencillo y fácil de depurar.

  • Este método no funcionará en Oreo (No se obtiene el establecer el idioma acción, tal vez debido a la forma en que se implementa)

0 votos

Sí, tengo un problema con la opción de acceso directo, porque no está disponible en la configuración del widget, pero lo evité utilizando una aplicación de creación de accesos directos, supongo que esta solución es la más rápida para cambiar la configuración regional hasta ahora, lo aceptaré a menos que haya una solución mejor sin aplicaciones de terceros, porque la pregunta se hizo sobre el uso de ADB solamente.

0 votos

Tengo un problema con la alineación RtL en la configuración con el idioma árabe, tal vez el refresco de la cáscara no se implementa como el LocalePickerActivity.

1 votos

El Android.stackexchange.com/q/105258/131553 pregunta que involucra el árabe fue fijado por Google en Nougat, y el dispositivo actual no tiene un problema con RtL pero mientras se utiliza Macrodroid sólo esta vez.

PreguntAndroid.com

PreguntAndroid es una comunidad de usuarios de Android en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X