以下亲测!
异常:java.lang.NoSuchMethodError: No static method checkSelfPermission
异常:ContextCompat中不包含checkselfPermission
异常有以下两个方面
(1)
sdk版本<23 使用 PermissionChecker.checkSelfPermission,进行权限验证
sdk版本>=23 使用 ContextCompat.checkSelfPermission,进行权限验证
if (Build.VERSION.SDK_INT >= 23) {
if (ContextCompat.checkSelfPermission(this, Manifest.permission.READ_PHONE_STATE) == PackageManager.PERMISSION_GRANTED) {
final TelephonyManager tm = (TelephonyManager) getSystemService(Context.TELEPHONY_SERVICE);
return tm.getDeviceId();
}
}
else{
if (ActivityCompat.checkSelfPermission(this, Manifest.permission.READ_PHONE_STATE) == PackageManager.PERMISSION_GRANTED) {
final TelephonyManager tm = (TelephonyManager) getSystemService(Context.TELEPHONY_SERVICE);
return tm.getDeviceId();
}
(2)
checkSelfPermission方法在v4 jar--23.0.0及后续版本中才有,需要升级v4 jar包