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

时间:2016-01-17 11:07:17

标签: android

以下代码在单击活动中的按钮时工作正常但在单击片段中的按钮时出现“找不到处理意图的活动”错误。

            Intent callIntent = new Intent(Intent.ACTION_CALL);
            callIntent.setData(Uri.parse("+123456789"));
            startActivity(callIntent);

3 个答案:

答案 0 :(得分:15)

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

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

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

<uses-permission android:name="android.permission.CALL_PHONE" />

然后使用以下代码进行通话:

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

更新:

您不需要CALL_PHONE ACTION_DIAL的{​​{1}}权限。

答案 1 :(得分:-1)

        Intent callIntent = new Intent(Intent.ACTION_CALL);
        callIntent.setData(Uri.parse("tel:+123456789"));
        IntentChooser chooser= Intent.createChooser(callIntent,"title")
        startActivity(chooser);

希望它有所帮助。确保您已在清单文件中添加了适当的权限。

答案 2 :(得分:-4)

添加此代码将正常工作

//string phone="034028477736"
Intent intent=new Intent(Intent.Action-dial,Uri.fromparts("tell",phone,null));
startactivity(intent);//