来自 uid 10400 的 com.android.phone 不允许执行 OP_READ_PHONE_STATE

Posted

技术标签:

【中文标题】来自 uid 10400 的 com.android.phone 不允许执行 OP_READ_PHONE_STATE【英文标题】:com.android.phone from uid 10400 not allowed to perform OP_READ_PHONE_STATE 【发布时间】:2017-12-12 02:42:37 【问题描述】:

行:

final TelephonyManager tm =(TelephonyManager)getBaseContext().getSystemService(Context.TELEPHONY_SERVICE);
    tmSerial = "" + tm.getSimSerialNumber();

仅在运行 android 7.0 的三星 Galaxy Note 5 上引发此错误。这只发生在我将 Google-Services 升级到 3.1.0 之后。我有电话<uses-permission android:name="android.permission.READ_PHONE_STATE" /> 在我的清单文件和

ContextCompat.checkSelfPermission(this,
                    Manifest.permission.READ_PHONE_STATE)
                    == PackageManager.PERMISSION_GRANTED)

正在返回 true。这是 Note 5 上 7.0 的错误,还是我以某种方式获得了错误的权限?

【问题讨论】:

另见***.com/questions/39694220/… 您找到解决此问题的方法了吗? 【参考方案1】:

第一次安装应用时,您必须在Settings->Apps->App Name->Permissions下启用Phone权限。

对于 Android 6.0 及更高版本,适用于以下权限 (ref):

身体传感器 日历 相机 联系方式 位置 麦克风 电话 短信 存储

【讨论】:

适用于所有应用(您的、电话和 Play 服务)? 是的。我通过并确定。我觉得最奇怪的是,即使我卸载并重新安装,它似乎也只发生在一台测试设备上。 嗯。对不起,我希望我能提供帮助,即使我没有那个配置可供我使用。看起来您所做的一切都是正确的,这可能是特定于设备的问题。上面显示的代码适用于我的 7.x 设备。如果我能在这里找到一个 5,我会试试的。

以上是关于来自 uid 10400 的 com.android.phone 不允许执行 OP_READ_PHONE_STATE的主要内容,如果未能解决你的问题,请参考以下文章

i5 10400f和 i7 6700k选哪个好

达人评测 i3 12100F和i5 10400f选哪个

timeBeginPeriod 不适用于 Intel Comet Lake CPU (i5 10400H)

来自同一个蓝牙信标的多个Eddystone-URL / UID?

Fluid Typo3 - 如何获取通过来自不同页面 uid 的通量定义的变量

text https://proandroiddev.com/collapsing-appbarlayout-on-android-tv-86b538e85eed