在Android6.0以前,电话拨号器在AndroidManifest.xml中添加对应的权限即可。
在Android6.0以后,Google在新的系统中增加权限设置。所以需要增加动态的读取权限。
代码如下:
private class callPhone implements View.OnClickListener{
@Override
public void onClick(View v) {
String callNum=phoneNum.getText().toString();
if (ContextCompat.checkSelfPermission(getApplicationContext(), Manifest.permission.CALL_PHONE) != PackageManager.PERMISSION_GRANTED)
{
ActivityCompat.requestPermissions(MainActivity.this, new String[]{Manifest.permission.CALL_PHONE}, 1);
} else {
Intent intent=new Intent();
intent.setAction(Intent.ACTION_CALL); // 设置动作
Uri data = Uri.parse("tel:" + callNum); // 设置数据
intent.setData(data);
startActivity(intent);
}
}
}