如何发送支持的意图列表?

时间:2012-04-27 10:07:33

标签: android android-intent

我正在创建一个可以由服务控制的简单应用程序。为了控制这个应用程序,服务必须知道可以发送给它的命令,所以我认为它应该是提供这些命令列表的应用程序,如下所示:

  1. 应用程序可能有一个响应MY_ACTION_GET_COMMANDS意图的辅助活动(因此我应该在“AndroidManifest.xml”文件中定义一个intent-filter)。
  2. 服务知道他可以使用startActivityForResult方法发送此类意图。
  3. 当应用程序收到此类意图时,相应的活动会通过发送支持的命令列表(即意图列表)来响应发件人。
  4. 如何发送支持的意图列表?

    更新:请注意,应用程序和服务位于不同的包中。

2 个答案:

答案 0 :(得分:2)

我不确定我理解为什么你需要显示这些意图的活动。这是真正的用户会看到的吗?

如果您真的想获得特定应用正在收听的所有意图的列表,您可以使用PackageManager。使用PackageInfo检索PackageManager。然后,您将能够扫描该应用程序中所有已定义的接收器。

如果你进一步解释,我可能会提供更多帮助。

答案 1 :(得分:1)

您可以将支持的意图作为列表从子活动传递回父级。

 Intent intent = this.getIntent();
        ArrayList<String> a = new ArrayList<String>();
        a.add("com.customintent.INTENT_ONE");
        a.add("com.customintent.INTENT_TWO");
        intent.putStringArrayListExtra("list",a);

        this.setResult(RESULT_OK, intent);