我已经看到我手机上的一些安卓应用需要这个android.permission.READ_PHONE_STATE权限。我不知道我是否能信任他们。我知道这个权限会让应用程序访问很多信息。我特别感兴趣的是,安卓应用程序中的哪些功能通常需要DeviceId、SimSerialNumber、SubscriberId等信息
发布于 2013-11-14 08:02:08
电话状态提供了对有关电话的大量信息的访问。通常的用途是读取你手机的IMEI和你的电话号码。这有助于在他们的系统中识别您的身份。
如果应用程序兼容Android 1.5或更低版本,也可能需要该权限,因为该权限当时并不存在,play商店会自动将其添加到这些应用程序中
发布于 2013-11-14 08:09:15
另一个可能的原因是,如果你正在通话,他们可以将音频事件静音。这就是为什么像Pandora,Spotify等应用程序需要许可--这样当你接到电话时,它们就可以静音。
发布于 2017-06-20 04:14:06
不久前,我发现对于某些设备,如果你的应用程序发送短信,你应该添加android.permission.READ_PHONE_STATE。在某些情况下,SmsManager可能会在发送短信之前尝试检索一些有关电话状态的信息。
以华为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)https://stackoverflow.com/questions/19966864
复制相似问题