我想打开我的电话拨号器。但它显示错误。我已经在 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;
最佳答案
ACTION_DIAL
Intent 不需要任何权限。因此,从 AndroidManifest.xml
中删除 CALL_PHONE
权限。
您还没有传递任何号码来触发拨号 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
}
希望对您有所帮助!
关于android - 找不到处理 Intent { act=android.intent.action.DIAL } 的 Activity ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32263955/