您的位置:首页 > 移动开发 > Android开发

Android 6.0 获取拨打电话的权限

2017-09-06 11:08 561 查看
public void onCall(){// 这个方法是自己写的方法

if (Build.VERSION.SDK_INT >= 23) {

int checkCallPhonePermission = ContextCompat.checkSelfPermission(IdleScreenActivity.this,Manifest.permission.CALL_PHONE);
if(checkCallPhonePermission != PackageManager.PERMISSION_GRANTED){
ActivityCompat.requestPermissions(IdleScreenActivity.this,new String[]{Manifest.permission.CALL_PHONE},REQUEST_CODE_ASK_CALL_PHONE);

return;
}else{

// 执行拨号动作
Intent mIntent = new Intent(Intent.ACTION_CALL_PRIVILEGED);
mIntent.setData(Uri.parse("tel:"+"10086"));
startActivity(mIntent);
}
} else {

// 执行拨号动作
Intent mIntent = new Intent(Intent.ACTION_CALL_PRIVILEGED);
mIntent.setData(Uri.parse("tel:"+"10086"));
startActivity(mIntent);
}
}

@Override
public void onRequestPermissionsResult(int requestCode,
String[] permissions, int[] grantResults) {// 这个方法是系统方法
switch (requestCode) {
case REQUEST_CODE_ASK_CALL_PHONE:
if (grantResults[0] == PackageManager.PERMISSION_GRANTED) {

} else {

// 执行拨号动作
Intent mIntent = new Intent(Intent.ACTION_CALL_PRIVILEGED);
mIntent.setData(Uri.parse("tel:"+"10086"));
startActivity(mIntent);
}
break;
default:
super.onRequestPermissionsResult(requestCode, permissions, grantResults);
}
}

AndroidManifest.xml  文件里面添加权限
<uses-permission android:name="android.permission.CALL_PRIVILEGED" />
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息