I understand what Android permissions mean and I have a specific question about two telephony permissions.

I've been using XPrivacy for a while and noticed that many apps that ostensibly have nothing to do with the low-level telephony features, nevertheless make repeated calls to getSimOperatorName() and getNetworkOperatorName(). MyFitnessPal Calorie Counter is one such app.

What need would ordinary apps have to call these methods?

For example, why would MyFitnessPal care I'm using AT&T or Verizon, when the app could be running just fine on a Wi-Fi only device?

  • 3
  • @beeshyams: my question is more specific than the one you pointed to, which itself is a dupe. Jan 7 '16 at 22:27
  • Isn't Dan Hulme's answer sufficient?
    – Firelord
    Jan 7 '16 at 22:29
  • 2
    @Firelord: not at all? I'm asking why apps would be interested in the SIM operator's name. Why would MyFitnessPal care I'm using AT&T or Verizon, when the app could be running just fine on a Wi-Fi only device? Jan 7 '16 at 22:33
  • 1
    I agree with @DanDascalescu – this question is no dupe, it's more specific. One might tend to say answers might be "opinion based". May I hold against that that people with some insight (e.g. developers) might be able to list a few good reasons (apart from the obvious "data gathering")?
    – Izzy
    Jan 8 '16 at 22:40

I have read that Android applications created through a standard method are set by the creating software to ask for certain permissions by default, even if the developer did not pick them. The permissions you mention may be among those. So the developer might not be interested in them at all.

  • Do you mean that some app generators might just dump code in the app or libraries that makes those calls? Jan 8 '16 at 1:57
  • Where you read that matters here. Consider linking it since you're not sure either whether the case is true or not, at least at this moment.
    – Firelord
    Jan 8 '16 at 2:03
  • 1
    @Izzy: would it be possible that some app building IDE generates boilerplate code that makes those calls regardless of what the app does? Jan 8 '16 at 23:09
  • 1
    @DanDascalescu that might well be – though I'd rather suspect some ad frameworks behind that (again outside the realm of the app-dev who only includes a framework for revenue in that case, but usually cannot tell what exactly that framework does). One could try an app to Identify Ad-Modules and do some research on the findings to prove that right or wrong.
    – Izzy
    Jan 8 '16 at 23:20
  • 1
    @Izzy: I don't recall any conexion to advertising networks. Minmin Guard shows me some advertising networks that applications are using, and I have plenty of applications that ask for e.g. identity and sensors that don't have any apparent advertisements.
    – Cerberus
    Jan 9 '16 at 3:16

Those settings are often used to block the usage of the application in some regions, like embargoed countries. If the app would rely only on IP address location, for example, the user could bypass the protection just by using a VPN.

By relying on information provided by the Operating System based on the current inserted SIM card, the only way to bypass this security would be reverse engineering the app or the OS itself.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.