意图ACTION_CALL android

时间:2015-02-09 13:48:50

标签: android android-intent phone-call

我正在尝试搜索具有用于电话呼叫的意图过滤器的活动。这就是我想要做的所有活动:

Intent callIntent = new Intent(Intent.ACTION_CALL);
    PackageManager pm = context.getPackageManager();
    List<ResolveInfo> resolveInfo = pm.queryIntentActivities(callIntent, 0);

这会导致resolveInfo列表为空,这意味着没有找到任何活动来拨打电话。 尽管如此,如果我使用以下意图,内置的Android应用程序来启动电话:

Intent callIntent = new Intent(Intent.ACTION_CALL);
                        callIntent.setData(Uri.parse("tel:" + 8888888888));
                        activity.startActivity(callIntent);

我的最终目标是使用HTC ONE M8中使用的电话应用程序作为CAR APP的一部分。

有什么想法吗?

1 个答案:

答案 0 :(得分:0)

您必须将setdata行添加到您的意图中:

callIntent.setData(Uri.parse("tel:" + 888888888));

然后完整的代码将是:

Intent callIntent = new Intent(Intent.ACTION_CALL);
    callIntent.setData(Uri.parse("tel:" + 888888888));
    PackageManager pm = getPackageManager();
    List<ResolveInfo> resolveInfo = pm.queryIntentActivities(callIntent, 0);
    Log.d("data", resolveInfo.size()+"");

现在您将找到可用活动的数量。