我在手机上看到一些Android应用需要这个android.permission.READ_PHONE_STATE权限。我不知道我是否可以信任他们。我知道这个权限会让应用程序访问许多信息。我对Android应用中的哪些功能通常需要DeviceId
,SimSerialNumber
,SubscriberId
等信息特别感兴趣?
答案 0 :(得分:23)
手机状态可以访问有关手机的大量信息。通常的用法是阅读手机的IMEI和您的电话号码。这对于在系统中识别您来说非常有用。
如果应用程序与Android 1.5或更低版本兼容,也可能需要它,因为此权限当时并不存在,并且由Play商店自动添加到这些应用程序
答案 1 :(得分:20)
另一个可能的原因是,如果您正在通话中,他们可以将音频事件静音。这就是Pandora,Spotify等应用需要获得许可的原因 - 所以当你接到电话时他们可以自己静音。
答案 2 :(得分:2)
不久前,我发现对于某些设备,如果您的应用程序发送短信,您应该添加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)