Cómo bloquear el operador de la red o nunca entrar en roaming, o salir del roaming lo antes posible

Trabajo muy cerca de la frontera de un país y NO quiero que mi teléfono se conecte a otros operadores que no sean el mío.

A veces, el operador de mi país de origen no estará disponible durante un breve período de tiempo y el teléfono seguirá en roaming. (y es inútil. sin teléfono, sin sms, sin web. sin sentido)

Cuando estoy de regreso en una zona donde el operador de mi país de origen tiene cobertura, el teléfono permanecerá en roaming durante un buen tiempo (horas), y tengo que darme cuenta y seleccionar manualmente mi operador.

Desafortunadamente, cuando el teléfono se reinicia, la opción "elegir automáticamente" se restablece, por lo que si reinicio el teléfono (o cuando se reinicia solo), tengo que volver a hacerlo.

Tengo tasker, pero no encontré la manera. También estoy listo para rootear el teléfono si es necesario. Simplemente no sé cómo seleccionar un operador de red y evitar que el teléfono cambie a "elegir automáticamente" en cada reinicio. No se trata de APN y cargos de roaming, solo quiero que nunca siga en roaming, nunca jamás.

¿Cualquier sugerencia?

(información del dispositivo: OnePlus One, android 5.0.1, cyanogenmod cm12)

Configurar el operador manualmente sería lo que hay que hacer, no debería revertir eso en el arranque. ¿Podría editar su pregunta e incluir su dispositivo y su versión de Android? En cuanto a Tasker : según mi diagrama de flujo (desplácese hacia abajo en esa página), debería haber algo en Acción › Configuración › Operador de red . ¿Puedes comprobar eso?
Estoy bastante seguro de que la configuración del operador se revertirá al arrancar. Al menos hasta mi última actualización a CM12 (estaba en CM11 y lo reinicié tantas veces que estoy seguro de que ese era el problema). Ahora en CM12 se conectó un par de veces a roaming aunque cambie manualmente, así que creo que es por reinicios que revierten mis opciones. Además: en tasker cuando elijo la acción "operador de red", tengo una pantalla con "If + Label" y no sé cómo configurar el operador desde allí
ejecutar la acción "operador de red" de tasker activa la aplicación "elegir red", donde tengo que elegir manualmente el operador. Esto es severamente subóptimo, pero si tan solo pudiera activarlo cuando el teléfono detecte que está en roaming...
OK. una solución alternativa (gravemente subóptima) es usar tasker, detectar si %ROAM es igual a "activado" e iniciar la acción "operador de red" que abre la página de configuración de selección de operador.
Puede utilizar la acción "ejecutar comando" aquí y ejecutar setprop gsm.sim.operator.numeric <value>(no probado, pero vale la pena intentarlo). Para obtener el valor deseado, configure el operador manualmente una vez y luego ejecútelo getprop gsm.sim.operator.numeric(puede hacerlo, por ejemplo, a través de adb shell). No estoy seguro de los efectos, pero vale la pena intentarlo. Referencias: 1 | 2 | 3 .
PD: Si eso funciona, también mira aquí
No: lo intenté de todas las formas posibles. El operador no se puede establecer mediante setprop gsm.sim.operator.numeric de ninguna manera. La selección manual se revierte en el arranque. No hay solución a este problema, todavía.
Si es solo "restablecer en el arranque", puede poner esa declaración en un script de shell y colocarla /system/etc/init.dpara que se ejecute en el arranque. También podría funcionar con una build.propmodificación, aunque no estoy seguro de si sería una buena decisión (¿y si estás planeando unas vacaciones en el extranjero?)

Respuestas (1)

Parece que Android M Marshmallow corrige este error.

Ahora estoy ejecutando Android 6.0.1, CyanogenMod versión 13, y el operador ya no vuelve a la selección automática después del reinicio.

La versión exacta de CyanogemMod que estoy ejecutando es: 13.0-ZNH2K-20160430-STABLE-Sultan-bacon.