Android version 4.1.2.

More and more mobile network providers seem to be offering "free" roaming, i.e. not having to pay additional charges when abroad. This is true only for some countries. My network provider will not charge me extra for using voice or data in a range of EU countries, but will indeed charge me a zillion bucks if not in one of those countries. So I have to take care. Some of these countries are rather small. I travel a lot and often I'm close to a border where the handset may inadvertently connect to a provider in a neighboring country.

I would like to configure my phone to permanently allow data roaming when I'm connected to a network provider in one of those countries on the "whitelist". I would have to configure the "whitelist" myself, I guess.

I cannot figure out how to do this. Android doesn't seem to have the concept of allowing roaming for certain network provider countries and not for others. It's an all-or-nothing setting. Secondly I'm not sure a handset even has such data available. Does Android know that when connected to a network provider named "Vodafone Spain" that it is connected to a provider in country "Spain" ? If it is then it would be possible to create a more intelligent roaming application.

Please help. Is there something I can do with out-of-the-box Android or is there an intelligent app already made for this?


Based on Izzy's answer below I've tried out an app named "Roaming Control". It should be noted that I'm not affiliated with that company in any way.

The application doesn't allow to me to setup a new group of countries besides those already defined in the application. It does - however - allow me to configure a new additional single-country rule via the context menu button. If I configure a new rule for country "Spain" then that rule will show up on the Izzy's left-hand side screenshot of the app. If I'm actually in Spain (or more precisely: connected to a Spanish network provider) then that row will be highlighted in green. (The green highlighting seems to indicate the rule the application is currently using.)

Now, the nice thing here is that the application seems to be clever enough to understand that single-country rules should take precedence over group-country rules. So my newly defined rule for "Spain" will actually be the one used, rather than the pre-existing rule for "EU countries". Bingo. Exactly what I wanted to see.

I would have liked for the app to allow me to be able to define a new country group but I can live without it, meaning define each country on my network provider's whitelist individually.

  • The solution here may work for those with a similar problem
    – beeshyams
    Jan 18, 2018 at 1:40
  • I want to link the ongoing feature request for Android here for others like me who found this while searching for a possibility to roam into some networks and not into others.
    – Nirostar
    Sep 18, 2019 at 23:06

1 Answer 1


An app named Roaming Control (maybe even its free trial) might help you out here. From the app's description:

Roaming Control automatically enables or disables mobile data connection, airplane mode or auto sync based on the currently active network operator.
Besides manually defined network operators, Roaming Control also supports special rules for your home network, for national roaming and for unknown networks. For certain networks, free roaming partner networks are also supported.

To me that sounds like an exact match to your requirements. To give you a better idea, here are some screenshots:

Roaming Control Roaming Control Roaming Control
Roaming Control Screenshots (source: Google Play; click images for larger variants)

  • Yep. I actually found it myself a second before you did. :-). I'm testing it now. The trick is that this app allows (via the menu button) to add additional countries to this list. Then I can configure that country individually.
    – thisisfun
    Oct 21, 2014 at 16:53
  • Does it prevent the phone from connecting to disabled networks at all? Or is there a small delay for when the phone connects and before the app is actually able to disable mobile data again?
    – TJJ
    Apr 3, 2017 at 9:28
  • @TJJ I cannot tell as I've never used it. Technically it should be possible to avoid the connection at all, as the carrier is known before establishing the data connection (defined by MCC/MNC, see the green "Home Network" in screenshot 1; e.g. your home carrier is defined by your SIM, and those codes are AFAIK exchanged in the initial handshake). As the app description says it works "based on the currently active network operator", I'd expect it to act exactly like that. No guarantees, though.
    – Izzy
    Apr 3, 2017 at 13:42
  • @Izzy I read a bit up on it. So the home network (i.e. no roaming) is defined by MCC/MNC on the SIM. This app supposedly is not working on Android 5.0 (and upwards?) anymore. Also, I wouldn't trust it because I'm not sure if it can intercept the activation of mobile data fast enough. It would be better if it was possible to add multiple MCC/MNC as being the home network. Something like an xposed module or so.
    – TJJ
    Apr 4, 2017 at 14:28
  • 1
    @TJJ As you can see, this answer is from 2014. Meanwhile, there's our sister site for software recommendations – be welcome to ask for a specific app over there, and we can link it from here (if found). ATM I'm not aware of any, so if it exists it must have slipped through my nets.
    – Izzy
    Apr 4, 2017 at 17:03

You must log in to answer this question.

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