我想打开手机拨号器。但它显示错误。我在Android Manifest上声明了CALL_PHONE的权限,并在Android Manifest中声明了类。
case R.id.action_call:
Log.d("Action_call","INside Action call");
Intent dialer = new Intent(Intent.ACTION_DIAL);
startActivity(dialer);
return true;
答案 0 :(得分:2)
ACTION_DIAL
Intent不需要任何权限。因此,请从CALL_PHONE
移除AndroidManifest.xml
权限。
您没有传递任何号码来拨打Intent。
使用tel:
后跟电话号码作为传递给Uri.parse()的值:
试试这段代码。
String number = "1234567890";
Uri number = Uri.parse("tel:" + number);
Intent dial = new Intent(Intent.ACTION_DIAL);
dial.setData(number);
startActivity(dial);
修改强>
您可以先检查设备是否支持电话
private boolean isTelephonyEnabled(){
TelephonyManager tm = (TelephonyManager)getSystemService(TELEPHONY_SERVICE);
return tm != null && tm.getSimState()==TelephonyManager.SIM_STATE_READY
}
我希望它有所帮助!
答案 1 :(得分:1)
使用'frontend'
解析数字..
Uri
答案 2 :(得分:0)
不需要ACTION_DIAL意图的任何权限。
try{
Intent call_intent = new Intent(Intent.ACTION_DIAL);
call_intent.setData(Uri.parse("tel:"+phone_number));
startActivity(call_intent);
}catch(Exception e){
}