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

时间:2017-07-07 17:50:45

标签: android android-permissions

该行:

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

仅在运行Android 7.0的Samsung Galaxy note 5上抛出此错误。这只发生在我将Google服务升级到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的错误,还是我以某种方式错误地获取权限?

1 个答案:

答案 0 :(得分:0)

首次安装该应用时,您必须在设置 - >应用 - >应用名称 - >权限下启用电话权限。

对于Android 6.0及更高版本,以下权限(ref)也是如此:

  • 身体传感器
  • 日历
  • 摄像机
  • 联系人
  • 位置
  • 麦克风
  • 电话
  • SMS
  • 存储