如何使用显式意图传递URI?

时间:2013-10-25 13:17:53

标签: android android-intent

我想使用explit意图在软电话应用上启动特定号码。 隐式应用程序看起来像:

Intent callIntent = new Intent(Intent.ACTION_CALL);
    callIntent.setData(Uri.parse(phone));
    startActivity(callIntent);

显式app的推出看起来像:

Intent LaunchIntent = getPackageManager().getLaunchIntentForPackage("example.app");
    startActivity(LaunchIntent);

问题:是否可以使用显式意图传递Uri并使用ACTION_CALL启动应用程序?

1 个答案:

答案 0 :(得分:3)

是。使用您的示例,您可以执行以下操作:

Intent intent = getPackageManager().getLaunchIntentForPackage("example.app");
intent.setAction(Intent.ACTION_CALL);
intent.setData(Uri.parse(phone));
startActivity(LaunchIntent);

当您使用明确的Intent时,Android不会使用Intent中的ACTION或DATA字段来确定启动哪个Activity。您已在Intent中明确设置了该值。但您仍然可以在Intent中设置ACTION和DATA字段,以便将信息传递给您正在开始的Activity