当您在 Android 开发中遇到 "拒绝调用" 错误时,通常表示您的应用程序在尝试访问受保护的系统资源或执行需要特殊权限的操作时被拒绝。
以下是几种常见的解决方法:
确保在需要的权限之前添加此声明。
if (ContextCompat.checkSelfPermission(this, Manifest.permission.ACCESS_FINE_LOCATION)
!= PackageManager.PERMISSION_GRANTED) {
// Permission is not granted, request it
ActivityCompat.requestPermissions(this,
new String[]{Manifest.permission.ACCESS_FINE_LOCATION},
MY_PERMISSIONS_REQUEST_LOCATION);
}
然后,您需要在 onRequestPermissionsResult 方法中处理用户的权限响应:
@Override
public void onRequestPermissionsResult(int requestCode, String[] permissions, int[] grantResults) {
if (requestCode == MY_PERMISSIONS_REQUEST_LOCATION) {
if (grantResults.length > 0 && grantResults[0] == PackageManager.PERMISSION_GRANTED) {
// Permission was granted
} else {
// Permission was denied
}
}
}
if (ContextCompat.checkSelfPermission(this, Manifest.permission.ACCESS_FINE_LOCATION)
== PackageManager.PERMISSION_GRANTED) {
// Permission is granted, perform the operation
} else {
// Permission is not granted, show rationale or request permission
}
如果权限被拒绝,您可以显示一个解释框,向用户解释为什么需要该权限,并请求权限。
这些是解决 Android 中 "拒绝调用" 错误的几种常见方法。根据您的具体情况,您可能需要采取更多的步骤来解决问题。