来自 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的主要内容,如果未能解决你的问题,请参考以下文章
timeBeginPeriod 不适用于 Intel Comet Lake CPU (i5 10400H)
来自同一个蓝牙信标的多个Eddystone-URL / UID?
Fluid Typo3 - 如何获取通过来自不同页面 uid 的通量定义的变量
text https://proandroiddev.com/collapsing-appbarlayout-on-android-tv-86b538e85eed