My good old phone from 2013 is dying. I have been satisfied with it, but even if it was still sold nowadays, I would not buy more of the same since it’s becoming increasingly difficult to not have either an iOS or an Android phone. I don’t want iOS for reasons not pertaining to my question, so Android remains, however, constant internet access is blocking me.

There are a few reasons to disable mobile internet on one’s phone, but I’m not here to discuss these. I just want to be able to disable mobile internet.

There are tons of sites giving tutorials on how to do this, but as far as I’ve seen, none gives a correct reply, because :

  1. Either they provide steps on how to disable mobile data, which indeed disables mobile internet, but MMS too in the process
  2. Or give a per-app solution, which won’t really completely block all mobile internet traffic, let’s be honest

A few years ago, someone with a Huawei phone asked me for help on this very subject, and I was indeed able to help him, by defining explicitly which APN was for what, keeping only the MMS role for the MMS-only APN and removing everything else. And it worked.

But things may have changed, and I certainly don’t want to buy a phone only to find it’s now impossible. If it’s become impossible indeed, then well, despite the drawbacks I will definitely get an oldie.

So, more concisely :

  • How can I disable mobile internet ?
  • Not per-app, system-wide
  • MMS shall remain enabled
  • Android 12+ (I suppose that’s what all new phones are running nowadays)
  • I’m not afraid of using adb and going through a shell
  • No third party programs
  • Jailbreaking/rooting is a big no no, if I have to fight against the phone vendor, then I better buy somewhere else
  • Which brands leave it possible ?
  • Which brands block it ?
  • Doesn't seem possible issuetracker.google.com/issues/200967517
    – beeshyams
    Dec 3, 2022 at 5:41
  • @beeshyams That seems to describe a problem with a strange feature that brings all mobile data on, including internet, when sending an MMS… that’s a really weird a dirty way of doing things… but if it’s still possible to define types for APNs as I did in the past, then there’s another way around
    – NovHak
    Dec 3, 2022 at 5:52

1 Answer 1


Now that I have an Android 13 phone, I can confirm it’s indeed possible (tested with a Samsung Galaxy A04s).

In the Android system, each APN has a defined APN type, which is a comma-separated list of roles attributed to the APN. An exhaustive list of roles can be found on Android’s site for developers. In the constants list, all the ones beginning with TYPE_. As of today, the list of accepted roles is : bip, cbs, default, dun, emergency, enterprise, fota, hipri, ia, ims, mcx, mms, supl, vsim, xcap.

The default role is special : it gives the APN roles that have not been given explicitly to other APNs.

The method is simple : keep the mms role for the MMS APN, remove everything else. If you have more than one APN, either delete the others if possible, or give them a restricted role such as emergency. An APN with zero roles defined seems to behave as having the default role.

WARNING : Some providers may depend on mobile data to provide emergency services, changing the roles may block or degrade such services. If there’s only one APN with the default role, replacing it with emergency may be a good choice, but it’s not 100% impossible that emergency services rely on other roles as well. One can’t foresee what all mobile operators do, be it good or bad.

More precisely :

  1. In the parameters, go to the list of configured APNs : Connections => Mobile networks => Access point names
  2. For each APN, check the access point type, remove all roles except mms
  3. Remove APNs with no MMS roles, or alternatively, set their role to emergency
  4. To restore the defaults, on the APN list screen, tap the vertical ellipsis button ⋮ on the top right and choose the appropriate menu option
  5. System updates are likely to reset custom APN configuration

In my case I had two APNs, APN A with only the mms role, and APN B with default and mms roles. I left APN A untouched, and set APN B to emergency only. This made APN B disappear from the list but it’s still there, just hidden from the UI. Resetting APN configuration still works and brings back both APNs with their default settings.

You must log in to answer this question.

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