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