I don't know the specific reasoning for this weather app to ask this (and which one in particular is not mentioned), but Music apps generally will ask the same thing to make sure to mute the music upon detecting a phone call.
My father's bank smartphone app has requested authorization to his whole contact list after the last update. And you cannot use the app anymore if you don't agree.
My phone came in with six preinstalled games, all of which required permission to access my contacts, gallery, camera, and more. Deleted instantly.
“Hello??? This is weather calling”
“ITS REALLY URGENT BRO THE SKY IS LIKE PINK RIGHT NOW BROOOO”
And seeing that in games that are loaded with ads in the first place makes me wonder..
This is type of permission that absolutely NEEDS priming. There are valid reasons for asking it (though I don't see why a weather app would need it), but please just prime your users dammit.
This is the Android READ_PHONE_STATE permission. And it throws the warning you see in the screenshot.
100% this permission is used for the ad module.
Every app that uses this permission wil 99.99% need it for the ad module.
The calling state for pausing games isn't needed anymore since Android 1.6 I think.
Let's go back to why the developer might enable this permission:
Android pools several functionality in single permissions.
Also on older devices the workings of the permissions pooling can differ. And the user itselfs often complain that an app should work for older devices too.
For example READ_PHONE_STATE permission is needed to see:
* Looking up Imei number for example strict purchase checks per device
* The actual state of the phone call to for example pause the game. <--this is for very old android phones
* Read your *own* number only <--Another permission (READ_PHONE_NUMBERS) is needed to view other numbers
* read phone number of other party
* which provider is used
What it's used for now is:
* identify your device for target-ads (so the ad provider could tell whether a certain ad was already shown to you)
* rightfully by call-blockers and similar apps which need to determine the remote phone number
* for several statistics and other technical apps (again, rightfully)
Yes it gives the possibilty to spy on you. But if the app needs any permission above, it simply needs the spying option enabled. Even if they don't want to do that as developer.
* It's used for ad module, purely for comparison with already stored data by Google
* It's not used for pausing your game
* It cannot read your contact list
**edit** Better yet, dont use **any** free services like facebook, gmail, youtube, etc if you dont want this stuff to happen.