如何删除“;呼叫需要权限,该权限可能会……”;Android Studio中的错误
我的代码如何删除“;呼叫需要权限,该权限可能会……”;Android Studio中的错误,android,permissions,warnings,android-6.0-marshmallow,android-permissions,Android,Permissions,Warnings,Android 6.0 Marshmallow,Android Permissions,我的代码 private void continueCall() { Intent callIntent = new Intent(Intent.ACTION_CALL); callIntent.setData(Uri.parse("tel:" + phoneNoToCall)); startActivity(callIntent); } 以上要求用户是否在运行时授予权限CALL\u PHONE,我已检查为 private void call()
private void continueCall() {
Intent callIntent = new Intent(Intent.ACTION_CALL);
callIntent.setData(Uri.parse("tel:" + phoneNoToCall));
startActivity(callIntent);
}
以上要求用户是否在运行时授予权限CALL\u PHONE
,我已检查为
private void call() {
if (ActivityCompat.checkSelfPermission(mContext, Manifest.permission.CALL_PHONE) == PackageManager.PERMISSION_GRANTED) {
continueCall();
} else {
requestCallPermission();
}
}
Android studio仍然显示错误“呼叫需要权限,可能……”
如何删除此错误?或者至少抑制它。我想你需要
呼叫特权
权限:
给你打电话
在API级别1中添加
String CALL_PRIVILEGED允许应用程序拨打任何电话号码,
包括紧急电话号码,无需通过拨号用户
用户确认正在进行的呼叫的界面
不供第三方应用程序使用
常量值:“android.permission.CALL\u PRIVILEGED”
可以从多个位置调用方法
continueCall()
。因此,不能保证在call()中签入权限
因此,您只能通过添加以下内容来抑制错误:
@SuppressWarnings(“MissingPermission”)
您需要将
Intent callIntent = new Intent(Intent.ACTION_CALL);
callIntent.setData(Uri.parse("tel:" + phoneNoToCall));
startActivity(callIntent);
内部if块
private void call() {
if (ActivityCompat.checkSelfPermission(mContext, Manifest.permission.CALL_PHONE) == PackageManager.PERMISSION_GRANTED) {
Intent callIntent = new Intent(Intent.ACTION_CALL);
callIntent.setData(Uri.parse("tel:" + phoneNoToCall));
startActivity(callIntent);
} else {
requestCallPermission();
}
}
通过单击此处的黄色bulblook来抑制它