使用方法checkSelfPermission
时触发了以下异常。应用程序的targetSDKVersion为21。
FATAL EXCEPTION:主程序:app.Rvamd.RecoverAllMyDeletedFile,PID: 3700 java.lang.NoSuchMethodError:没有静态方法 checkSelfPermission(Landroid / content / Context; Ljava / lang / String;)我在 class Landroid / support / v4 / content / ContextCompat;或者它的超级课程 (声明' android.support.v4.content.ContextCompat'出现在 /data/app/app.Rvamd.RecoverAllMyDeletedFile-1/base.apk)
有人对此有所了解吗?在同一仿真器设备中为该另一个应用程序正确调用该方法。 除此之外,我可以知道电话/模拟器如何选择支持库方法(某些应用程序可以正确调用方法,而其他应用程序不适用)?
代码如下
if (ContextCompat.checkSelfPermission(this,
Manifest.permission.READ_CONTACTS)
!= PackageManager.PERMISSION_GRANTED) {
ActivityCompat.requestPermissions(this,
new String[]{Manifest.permission.READ_CONTACTS},
MY_PERMISSIONS_REQUEST_READ_CONTACTS);
return;
}
答案 0 :(得分:1)
您可能需要将compileSdkVersion
升级到23.这是因为自API 23以来添加了运行时权限功能。