Android权限-Manifest或Android.Manifest

Android权限-Manifest或Android.Manifest,android,permissions,android-6.0-marshmallow,Android,Permissions,Android 6.0 Marshmallow,我从Android开始开发。我在Android M的系统中使用SDK 23。 在internet的示例中,当我想检查权限时,我发现: this.checkSelfPermission(Manifest.permission.READ_CONTACTS) 但这对我不起作用。我需要写: this.checkSelfPermission(android.manifest.permission.READ_CONTACTS) 我想知道两者的区别以及为什么不起作用 如果有帮助,这是我的清单文件(仅限权限

我从Android开始开发。我在Android M的系统中使用SDK 23。 在internet的示例中,当我想检查权限时,我发现:

this.checkSelfPermission(Manifest.permission.READ_CONTACTS)
但这对我不起作用。我需要写:

this.checkSelfPermission(android.manifest.permission.READ_CONTACTS)
我想知道两者的区别以及为什么不起作用

如果有帮助,这是我的清单文件(仅限权限):



谢谢

当您询问是否允许权限时,您应该使用android.Manifest.permission.XX,然后询问时,您应该使用Manifest.permission.XX 以下是一个例子:

 public static boolean checkCameraPermissions(Activity activity, int permission) {
    if (ContextCompat.checkSelfPermission(activity, android.Manifest.permission.CAMERA) != PackageManager.PERMISSION_GRANTED) {
        ActivityCompat.requestPermissions(activity,
                new String[]{Manifest.permission.CAMERA}, permission);
        return false;
    }
    return true;
}

这将取决于您在类清单上执行的导入操作。最后,清单应该指向android.Manifest(
导入android.Manifest;
),谢谢你,佩德罗。确切地我导入了错误的包(Java.util.jar.manifest)。非常愚蠢……:)
 public static boolean checkCameraPermissions(Activity activity, int permission) {
    if (ContextCompat.checkSelfPermission(activity, android.Manifest.permission.CAMERA) != PackageManager.PERMISSION_GRANTED) {
        ActivityCompat.requestPermissions(activity,
                new String[]{Manifest.permission.CAMERA}, permission);
        return false;
    }
    return true;
}