Android SecurityException:不允许执行OP_READ_PHONE_状态

Android SecurityException:不允许执行OP_READ_PHONE_状态,android,security,android-6.0-marshmallow,Android,Security,Android 6.0 Marshmallow,用户使用此错误跟踪报告我的应用程序崩溃 java.lang.SecurityException: com.android.phone from uid 10134 not allowed to perform OP_READ_PHONE_STATE at android.os.Parcel.readException(Parcel.java:1620) at android.os.Parcel.readException(Parcel.java:1573) at com.android.inte

用户使用此错误跟踪报告我的应用程序崩溃

java.lang.SecurityException: com.android.phone from uid 10134 not allowed to perform OP_READ_PHONE_STATE
at android.os.Parcel.readException(Parcel.java:1620)
at android.os.Parcel.readException(Parcel.java:1573)
at com.android.internal.telephony.IPhoneSubInfo$Stub$Proxy.getVoiceMailNumberForSubscriber(IPhoneSubInfo.java:858)
at android.telephony.TelephonyManager.getVoiceMailNumber(TelephonyManager.java:2383)
at android.telephony.TelephonyManager.getVoiceMailNumber(TelephonyManager.java:2366)
到目前为止,只有一个用户报告了此问题。数千名其他用户正在运行这个版本的应用程序,没有明显的问题

调用
TelephonyManager.getVoiceMailNumber()
时会引发异常。此操作根据
READ\u PHONE\u STATE
权限的要求进行记录,该权限已绝对、肯定地授予

我找到了
android.apps.apposmanager
类的
OP\u READ\u PHONE\u STATE
权限,但无法准确找出它不满意的地方

有人能解释一下发生了什么,需要做些什么来解决问题吗

谢谢,
-Ken

您是否检查了read\u phone\u状态的运行时权限?他们是否可以从应用程序设置或通过cyanogenmod(或类似工具)手动删除您的权限?代码在执行getVoiceMailNumber()调用之前检查标准的READ_PHONE_STATE权限。应用程序生成的支持电子邮件将列出所有未授予的请求权限。该列表中未报告READ_PHONE_状态。我尽我所能地肯定,州政府已经批准了阅读、通话的许可。这在很久以前就被看到了。我们现在看到了很多这样的产品,只有三星,也只有那些运行牛轧糖的产品。我也在三星S8/S8+上看到了Android 7。你知道这是否主要是一家航空公司而不是另一家航空公司吗?这种情况还在发生吗?有人能证实吗?三星真糟糕!