使用方法checkSelfPermission时触发了运行时异常(java.lang.NoSuchMethodError)

时间:2017-12-03 18:19:23

标签: android android-6.0-marshmallow runtimeexception runtime-permissions

使用方法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;


        }

1 个答案:

答案 0 :(得分:1)

您可能需要将compileSdkVersion升级到23.这是因为自API 23以来添加了运行时权限功能。