Jump to content

Remove READ_PHONE_STATE permission


Recommended Posts

I understand, that Poweramp needs to know when a phone call occurs so it can lower its volume or stop play back.


Unfortunately READ_PHONE_STATE not only allows to get notifications for calls - but also the calling phone number, IMEI etc.


It is also possible to use OnAudioFocusChangeListener() without READ_PHONE_STATE permission in the manifest - also see:




And one App which uses this method to stop play back when a phone call occurs (TTS+ Plugin for FBReader):




Even though I don't assume that Poweramp behaves bad - but removing this permission and changing the code to use OnAudioFocusChangeListener() instead of PhoneStateListener() would improve the trust to Poweramp that it will not misuse any confidential data.


Link to comment
Share on other sites

Hi admin,

Actually, I am not so familiar about the above matter.

But when listening music, and when we get incoming call, the volume is a lot loud and not bearable to hear, because as the phone is generally in Normal mode.

So when connecting headset to Poweramp, decrease the phone incoming call volume as default to 20%.

This would be nice feature if you implement..

Link to comment
Share on other sites

Correct, the above mentioned method (audio focus API) doesn't require telephony subsystem permissions. But:

1. Poweramp works on Androids starting from 2.1. There are no audio focus API

2. Poweramp reacts on phone call differently - it doesn't unload it service to allow resume after the call.


The next major release drops support for Androids 2.1/2.2 so #1 is not an issue. Poweramp itself doesn't do anything with call data beyond pausing/resuming on call/hang, but as next Poweramp will be able to load in-process plugins, the permission set will be reviewed and restricted further. #2 is a minor one.



Link to comment
Share on other sites

  • 3 years later...


This topic is now archived and is closed to further replies.

  • Create New...