Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/396.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 错误:不兼容的类型:int无法转换为字符串_Java_Android_Android Permissions - Fatal编程技术网

Java 错误:不兼容的类型:int无法转换为字符串

Java 错误:不兼容的类型:int无法转换为字符串,java,android,android-permissions,Java,Android,Android Permissions,在下面的代码中,它显示了中的错误 ActivityCompat.requestPermissions(这是一个新字符串[]{Manifest.permission.SEND_SMS,PackageManager.permission_grated}) 及 ActivityCompat.requestPermissions(此,新字符串[]) {Manifest.permission.INTERNET,PackageManager.permission_grated}) 您正在混合权限ID和权限权

在下面的代码中,它显示了中的错误

ActivityCompat.requestPermissions(这是一个新字符串[]{Manifest.permission.SEND_SMS,PackageManager.permission_grated})

ActivityCompat.requestPermissions(此,新字符串[]) {Manifest.permission.INTERNET,PackageManager.permission_grated})


您正在混合权限ID和权限权限

以下是您必须执行的操作:

public static final int MULTIPLE_PERMISSIONS = 100; // any value you want
requestPermissions(this, new String [] {Manifest.permission.SEND_SMS, Manifest.permission.ACCESS_FINE_LOCATION, Manifest.permission.ACCESS_COARSE_LOCATION, Manifest.permission.INTERNET}, MULTIPLE_PERMISSIONS);
然后检查权限:

@Override
public void onRequestPermissionsResult(int requestCode,
    String[] permissions, int[] grantResults) {
    if (requestCode == MULTIPLE_PERMISSIONS) {
        if (grantResults.length > 0) {
            // check here if all permissions have been granted
        } else {
            requestPermissions(this, new String[] {
                Manifest.permission.SEND_SMS, Manifest.permission.ACCESS_FINE_LOCATION, Manifest.permission.ACCESS_COARSE_LOCATION, Manifest.permission.INTERNET
            }, MULTIPLE_PERMISSIONS);
        }
    }
}

请在此行出现错误时替换代码,然后重试:

ActivityCompat.requestPermissions(这是新字符串[]{Manifest.permission.SEND_SMS},PackageManager.permission_已授予)

ActivityCompat.requestPermissions(此,新字符串[]{Manifest.permission.ACCESS\u FINE\u LOCATION,Manifest.permission.ACCESS\u rough\u LOCATION},PackageManager.permission\u已授予)


ActivityCompat.requestPermissions(这是一个新字符串[]{Manifest.permission.INTERNET},PackageManager.permission_已授予)

PackageManager.授予的权限类型为
int
。显然,您不能将
int
添加到
字符串[]
。转换it@Imaguest我按照它的建议做了,dut,然后它把整行标记为错误。我不明白你们写了什么。如果在添加将
int
转换为
字符串
的内容后出现另一个错误,请修复它或告诉我们错误消息。哇哦,我的朋友!深呼吸。如果你想添加一些关于你的错误的信息,请编辑你的文章,而不是在评论部分发垃圾邮件。你有没有试着做布鲁诺建议的改变作为答案?
@Override
public void onRequestPermissionsResult(int requestCode,
    String[] permissions, int[] grantResults) {
    if (requestCode == MULTIPLE_PERMISSIONS) {
        if (grantResults.length > 0) {
            // check here if all permissions have been granted
        } else {
            requestPermissions(this, new String[] {
                Manifest.permission.SEND_SMS, Manifest.permission.ACCESS_FINE_LOCATION, Manifest.permission.ACCESS_COARSE_LOCATION, Manifest.permission.INTERNET
            }, MULTIPLE_PERMISSIONS);
        }
    }
}