找不到处理Intent的活动{act = android.intent.action.CALL dat = + 123456789 pkg = com.android.phone}

use*_*802 6 android

当我单击活动中的按钮但是在单击片段中的按钮时出现"找不到处理意图的活动"错误时,以下代码可以正常工作.

            Intent callIntent = new Intent(Intent.ACTION_CALL);
            callIntent.setData(Uri.parse("+123456789"));
            startActivity(callIntent);
Run Code Online (Sandbox Code Playgroud)

Moh*_*ani 19

我想你应该说你要添加的数据是这样的电话号码: callIntent.setData(Uri.parse("tel:+123456789"));

这是一个完整的解决方案:

首先,将以下权限添加到您的 manifest.xml

<uses-permission android:name="android.permission.CALL_PHONE" />
Run Code Online (Sandbox Code Playgroud)

然后使用以下代码进行调用:

String phone = "+34666777888";
Intent intent = new Intent(Intent.ACTION_DIAL, Uri.fromParts("tel", phone, null));
startActivity(intent);
Run Code Online (Sandbox Code Playgroud)

更新:

你不需要CALL_PHONE许可ACTION_DIAL.

  • “ACTION_DIAL”不需要“CALL_PHONE”权限,只需要“ACTION_CALL”。请参阅 [文档](https://developer.android.com/guide/components/intents-common.html#DialPhone)。 (2认同)