Android 使用checkSelfPermission方法时引发运行时异常(java.lang.NoSuchMethodError)
使用方法Android 使用checkSelfPermission方法时引发运行时异常(java.lang.NoSuchMethodError),android,android-6.0-marshmallow,runtimeexception,runtime-permissions,Android,Android 6.0 Marshmallow,Runtimeexception,Runtime Permissions,使用方法checkSelfPermission时引发以下异常。对于应用程序,targetSDKVersion为21 致命异常:主进程:app.rvadm.RecoverAllMyDeletedFile,PID: 3700 java.lang.NoSuchMethodError:无静态方法 中的checkSelfPermission(Landroid/content/Context;Ljava/lang/String;)I 类Landroid/support/v4/content/ContextC
checkSelfPermission
时引发以下异常。对于应用程序,targetSDKVersion为21
致命异常:主进程:app.rvadm.RecoverAllMyDeletedFile,PID:
3700 java.lang.NoSuchMethodError:无静态方法
中的checkSelfPermission(Landroid/content/Context;Ljava/lang/String;)I
类Landroid/support/v4/content/ContextCompat;或者它的超类
(“android.support.v4.content.ContextCompat”的声明出现在
/data/app/app.rvadm.RecoverAllMyDeletedFile-1/base.apk)
有人知道这件事吗?已为同一仿真器设备中的另一个应用程序正确调用该方法。
除此之外,我可以知道phone/emulator是如何选择支持库方法的吗
代码如下
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;
}
您可能需要将
compileSdkVersion
升级到23。这是因为自API 23以来添加了运行时权限功能。请发布您的代码。问题已解决???。这就是cool@ankitpatidar没有。。我没有那么幸运:(.我的意思是,代码已经更新。说清楚了,手机是否通过查看compileSdkVersion
来选择支持库版本?我注意到编译后不考虑compileSdkVersion
。我不太确定这一点。compileSdkVersion
和tar>之间的差异有多种选择getSdkVersion
-这听起来仍然让我很困惑。我的经验是,我总是将compileSdkVersion
设置为等于targetSdkVersion
,尽管允许它们不同。