El interruptor 2G de Tasker/Configuración de seguridad no funciona en OnePlus X CM13

Estoy atascado con mi automatización planificada con tasker y configuraciones de seguridad. Mi idea es cambiar automáticamente a 2G/GSM cuando me conecto a una WLAN. Al desconectar quiero volver a cambiar a 3G/4G.

Estoy en Sultans CM13 en mi OPX (rooteado). Lo que hice hasta ahora: instalé tasker y configuraciones de seguridad (SS) y configuré un perfil de tasker con una tarea usando el complemento SS (basado en este tutorial de XDA ).

En Acciones --> Configuración del dispositivo, elegí global como tabla y establecí el valor deferred_network_mode1 en 1 (también probé 0). También configuré el script de shell descrito en el tutorial. Pero mi teléfono no cambia a 2G cuando activa la WLAN aunque el perfil está activo. #editar: Acabo de ver que también hay un parámetro llamado "preferred_network_mode" seguido de un número de 10 dígitos, pero tampoco funciona. Sin cambio a 2G o de 2G a 3G.

Ahora quería verificar si mi teléfono/proveedor tiene otro valor quizás, pero cuando estoy ejecutando:

sqlite3 /data/data/com.android.providers.settings/databases/settings.db SELECT name, value FROM global;

cuando surecibo el mensaje de que la tabla globalno existe. ¿Alguien tiene una idea de cómo puedo acceder a esta base de datos o cómo configurar Tasker/Configuración de seguridad en mi OnePlus X (con CM13) en Alemania (T-Mobile)?

Esto podría ayudar: una forma sencilla de alternar entre conexión 2G y 3G // Por cierto, ese comando tuyo no funcionó porque Marshmallow eliminó la dependencia de settings.db . Necesitas usar settingsel comando. Relacionado: ¿ Dónde está la base de datos para guardar volúmenes de Android?
Gracias por la segunda pista. En cuanto al primero: quería resolverlo con Tasker/SecuritySettings y no con Xposed y Gravity. Ya encontré esto... pero si no hay otra solución tendré que cambiar.
No puedo encontrar el preferred_network_mode(o algo similar) en el archivo xml, así que tengo que buscar en esta carpeta

Respuestas (1)

Así que aquí está la forma en que lo resolví: después de descubrir el lugar correcto para editar el modo de red preferido, probé para cambiarlo:

adb shell settings put global preferred_network_mode 1
adb shell settings put global preferred_network_mode1 1
adb shell settings put global preferred_network_mode2456921 1
adb shell stop ril-daemon
adb shell start ril-daemon

El problema era que los cambios no se reflejaban y con el reinicio de ril-daemon se reseteaban ( preferred_network_mode 9).

Así que usé Gravity Box (módulo Xposed) para cambiarlo y con esto funciona bien:

Send Intent [
Action: gravitybox.intent.action.CHANGE_NETWORK_TYPE
Extra: networkType:1
]

Lamentablemente, no funcionaba sin él (por lo que podría haber ahorrado el dinero para la Configuración de seguridad, pero sin embargo.

Entonces, si quieres probarlo con tasker, te recomendaría usarlo con Xposed y Gravity; esa es probablemente la forma más fácil en realidad.