Tell me more ×
Android Enthusiasts Stack Exchange is a question and answer site for enthusiasts and power users of the Android operating system. It's 100% free, no registration required.

Why do so many applications require permission to read the phone state and identity?. Specifically:

Phone calls
   read phone state and identity

For example Quickpedia is a Wikipedia portal, but wants access to the phone. What is the explanation for this?

share|improve this question
Its not really, for "yeah yeah, this app has this permission to send sms and ring a premium number behind your back" which is what people assume. @Christian's answer below has hit the nail on the head! It is legitimate in a lot of cases, and quite often, devs tend to forget about whittling down the permissions (perhaps a hold-over from the early days of development of an app). – t0mm13b Aug 14 '12 at 18:47

6 Answers

There is another reason for this than the unique ID. I would guess that half of the apps don't access those values at all. The problem is that for a lower version up to Android 1.5 this permission does not exist. Everybody could access these values without requesting something.

Therefore if you create an app that is compatible with 1.5 this permission will automatically be added to emulate the lower security of Android 1.5 because of that you could ignore this permission in most of the times because it tends to be just a compatibility issue.

share|improve this answer
1  
The same happens with SD card access. – Denis Nikolaenko Jul 28 '11 at 19:55

The ad providers can use your phone identity to opt you in to telemarketing lists. As long as you have the app you're doing business with them and, by law, they don't have to remove you.

share|improve this answer
1  
Do you have a source for this? It sounds rather suspicious that the advertiser could consider you "doing business" with them simply because you saw the ad. If that were the case then almost any advertiser would have a right to put you on a telemarketing sheet since ads run all the time on TV, radio, etc. – eldarerathis May 24 '12 at 13:33
1  
As privacy-sensitive as I am, I'd doubt this as well. In any case, "by law" depends - of course - on what territory you reside in. – halfer Jun 10 '12 at 21:50

Many ad publishers use this permission to get the Phone ID for all sorts of tracking purposes. There are other ways to get a unique ID, but unfortunately they are buggy in older Android versions (the story is more complicated, see e.g. http://stackoverflow.com/questions/2785485/is-there-a-unique-android-device-id or http://android-developers.blogspot.com/2011/03/identifying-app-installations.html for a more complete story).

So if the app uses advertisements, there is a fair chance that the app itself does not actually need the READ_PHONE_STATE permission, only the ad provider does.

share|improve this answer

The reason is that Android 1.5 and earlier did not require the application to specifically request those permissions and automatically granted them. Since Android 1.6, those permissions have to be specifically requested by the app. However, if you specify that your application can run on devices with Android 1.5 and less, then that permission is added to the application by default and the market shows that permission as being requested by the application.

So in summary, the application may not actually be accessing your "phone state and identity" but if the developer specified that his/her application can run on devices with 1.5 or less then that permission will be shown.

share|improve this answer
Have you got a link to any documentation showing this? – GAThrawn Dec 5 '10 at 13:00
3  

It allows the App to read a unique ID (Phone Identity) that's associated with your phone. It can therefore help with copy-protection or the attempt to track the number of users.

share|improve this answer
1  
See this SO question about getting a unique ID of a phone, looks like the (currently) most reliable way for a developer to get a unique ID from a phone requires the Read Phone State permission stackoverflow.com/questions/2785485/… – GAThrawn Mar 7 '11 at 15:08

Pretty sure that Read Phone State lets the app tell whether you're on a call on, or if the phone's ringing.

That way games, media players, podcast players etc can all pause whatever's playing while you're phone's ringing or you're on a call.

share|improve this answer
1  
That's what I thought, but even applications like Quickpedia which wouldn't have this concern use the permission. – goldsz Jul 18 '10 at 17:39
2  
If your phone rings, then the dialer activity comes to the front and the AndroidOS will automatically suspend the game. They don't need this permission to pause themselves. But I'm not sure how that works for things like media players that use background services to play when their activity isn't in front. – pydave Feb 9 '11 at 1:50

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.