I have seen some Android apps on my phone require this android.permission.READ_PHONE_STATE permission. I don't know if I could trust them. I know this permission will give the app access to many information. I'm particularly interested in what functionality in an Android app normally require the information like DeviceId
, SimSerialNumber
, SubscriberId
?
问问题
27325 次
3 回答
23
电话状态提供了对有关电话的大量信息的访问。通常的用途是读取您手机的 IMEI 和您的电话号码。这对于在他们的系统中识别您很有用。
如果应用程序与 Android 1.5 或更低版本兼容,也可能需要它,因为当时不存在此权限,并且由 Play 商店自动添加到这些应用程序中
于 2013-11-14T00:02:07.957 回答
21
另一个可能的原因是,如果您正在通话,他们可以将音频事件静音。这就是为什么像 Pandora、Spotify 等应用程序需要许可的原因——这样它们就可以在你接到电话时将自己静音。
于 2013-11-14T00:09:15.247 回答
2
不久前,我发现对于某些设备,如果您的应用程序发送 SMS,您应该添加 android.permission.READ_PHONE_STATE。在某些情况下,SmsManager 可能会在发送短信之前尝试检索有关手机状态的一些信息。
例如获取 HUAWEI GRA-L09 的异常:
java.lang.SecurityException: Requires READ_PHONE_STATE: Neither user 10174 nor current process has android.permission.READ_PHONE_STATE.
at android.os.Parcel.readException(Parcel.java:1543)
at android.os.Parcel.readException(Parcel.java:1496)
at com.android.internal.telephony.ISms$Stub$Proxy.s! endMultipartTextForSubscriber(ISms.java:1224)
at android.telephony.SmsManager.sendMultipartTextMessage(SmsManager.java:404)
于 2017-06-19T20:14:06.363 回答