我正在尝试搜索具有用于电话呼叫的意图过滤器的活动。这就是我想要做的所有活动:
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的一部分。
有什么想法吗?
答案 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()+"");
现在您将找到可用活动的数量。