Android 无法解析符号';请求\代码\读取\联系人

Android 无法解析符号';请求\代码\读取\联系人,android,Android,我正试图通过以下方式请求访问振铃器的权限: if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M && ActivityCompat.checkSelfPermission(MainActivity.this, Manifest.permission.READ_CONTACTS) == PackageManager.PERMISSION_DENI

我正试图通过以下方式请求访问振铃器的权限:

     if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M
            && ActivityCompat.checkSelfPermission(MainActivity.this,
            Manifest.permission.READ_CONTACTS)
            == PackageManager.PERMISSION_DENIED) {

        ActivityCompat.requestPermissions(MainActivity.this,
                new String[]{ Manifest.permission.READ_CONTACTS },
                REQUEST_CODE_READ_CONTACTS);
    }

我不明白的是,代码
REQUEST\u code\u READ\u CONTACTS
显示错误“无法解析符号'REQUEST\u code\u READ\u CONTACTS'。

该值是您必须自己定义的请求代码

private static final int REQUEST_CODE_READ_CONTACTS = 99; // Can be any value >= 0
您可以使用它通过检查匹配值来确定用户在
onRequestPermissionsResult()
回调中响应了哪个权限请求

public void onRequestPermissionsResult(int requestCode, String permissions[], int[] grantResults) {
    switch (requestCode) {
        case REQUEST_CODE_READ_CONTACTS:
            // Do your thing
            break;
        case ...
    }
}

如果您从本手册中的答案中复制了上述代码 然后用
1
初始化它,并将此方法添加到代码中

public void onRequestPermissionsResult(int requestCode, String[] permissions, int[] grantResults){

    switch (requestCode){
        case REQUEST_CODE_READ_CONTACTS:
            if(grantResults.length>0 && grantResults[0] == PackageManager.PERMISSION_GRANTED){
                READ_CONTACTS_GRANTED = true;
            }
    }
    if(READ_CONTACTS_GRANTED){
        loadContacts();
    }
    else{
        Toast.makeText(this, "Allow permission in settings", Toast.LENGTH_LONG).show();
    }
}