【问题标题】:Apps with same intent names具有相同意图名称的应用
【发布时间】:2012-06-23 01:51:39
【问题描述】:

我有两个应用程序具有相同的意图名称,称为 videoPlayer,当我运行其中一个应用程序时,选择器要求我为意图选择默认操作。如何告诉应用程序从默认包执行操作

Intent menuIntent = new Intent("android.intent.action.Videoplayer");
            startActivity(menuIntent);

【问题讨论】:

  • 这可以在第一次出现选项时设置,因为我有不同的启动器,当我单击主页按钮时,我可以选择是否要将当前选择作为默认设置。设备如何知道您指的是哪个意图?
  • 请为Intent 操作使用您自己的包名称。您不为 Android 项目工作;你不应该创建像android.intent.action.Videoplayer 这样的操作。然后,如果您不希望出现选择器,请不要对两个活动使用相同的操作字符串。如果它们是您自己的私人活动,那么您首先不需要<intent-filter>

标签: android android-intent


【解决方案1】:

您是否试图告诉系统使用预装的应用程序而不是您自己的应用程序? Android 并不是这样工作的。所有应用程序都是平等创建的,系统默认值和第三方。如果不使用显式意图解析,实际上没有办法做到这一点。您必须向意图提供更多信息或使用弹出对话框将您的操作设为默认值。

【讨论】:

    【解决方案2】:

    使用setComponent 使其具体化.....

    menuIntent .setComponent(new ComponentName("<package>", "com.android.< Activity >"));
    

    喜欢How to open button click url in default browser or webview

    【讨论】:

      猜你喜欢
      • 2016-09-28
      • 2011-11-20
      • 1970-01-01
      • 2019-08-31
      • 1970-01-01
      • 1970-01-01
      • 2015-07-23
      • 1970-01-01
      相关资源
      最近更新 更多