I work really close to a country border, and I do NOT want my phone to connect to other operators than mine.

Sometimes the operator from my home country will be unavailable for a brief period of time, and the phone will go on roaming. (and it's useless. no phone, no sms, no web. pointless)

When I'm back in a zone where my home country operator has coverage, the phone will stick to roaming for a good while (hours), and I have to notice it and manually select my operator.

Unfortunately when the phone reboots the "choose automatically" option is re-set, so if I reboot the phone (or when it reboots itself), I have to do this again.

I have tasker, but didn't find a way. I am also ready to root the phone if needed. I just don't know how to select a network operator and prevent the phone to switch to "choose automatically" at every reboot. It's not about apn and roaming charges, I just want it to never go on roaming ever ever ever.

Any suggestion?

(device info: OnePlus One, android 5.0.1, cyanogenmod cm12)

  • Setting the operator manually would just be the thing to do – it shouldn't revert that on boot. Could you please edit your question and include your device and its Android version? As for Tasker: According to my flowchart (scroll down on that page), there should be something in Action › Settings › Network Operator. Can you check that?
    – Izzy
    May 8, 2015 at 9:11
  • I am quite sure that the operator setting revert on boot. At least until my last upgrade to CM12 (I was in CM11 and I rebooted it so many times that I am sure that that was the problem). Now in CM12 it connected a few times to roaming even if I switched manually, so I think it's due to reboots that revert my options. Also: on tasker when I choose the "network operator" action, I have a screen with "If + Label" and I don't know how to set the operator from there
    – G_Gus
    May 8, 2015 at 9:36
  • running the tasker "network operator" action triggers the "choose network" application, where I have to manually choose the operator. This is severely suboptimal, but if only I could trigger it when the phone detect that it is going on roaming..
    – G_Gus
    May 8, 2015 at 9:40
  • 1
    ok. a (severely suboptimal) workaround is to use tasker, detect if %ROAM equals "on", and launch the action "network operator" that opens the opeator selection setting page.
    – G_Gus
    May 8, 2015 at 9:52
  • You might utilize the "execute command" action here and run setprop gsm.sim.operator.numeric <value> (not tested, but worth a try). To get the wanted value, set the operator manually once, and then run getprop gsm.sim.operator.numeric (you can do so e.g. via adb shell). Not sure about the effects, but worth a try. References: 1 | 2 | 3.
    – Izzy
    May 8, 2015 at 10:36

1 Answer 1


It seems that Android M Marshmallow does fix this bug.

I am now running Android 6.0.1, CyanogenMod version 13, and the operator does not revert back to automatic-selection anymore after reset.

The exact CyanogemMod version I am running is: 13.0-ZNH2K-20160430-STABLE-Sultan-bacon.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .