0

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

  1. 应用程序可能有一个响应意图的辅助活动(所以我应该在“AndroidManifest.xml”文件MY_ACTION_GET_COMMANDS中定义一个意图过滤器)。
  2. 服务知道他可以使用该startActivityForResult方法发送这种类型的意图。
  3. 当应用程序接收到这种类型的意图时,适当的活动通过发送支持的命令列表(即意图列表)来响应发送者。

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

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

4

2 回答 2

2

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

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

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

于 2012-04-27T10:20:01.570 回答
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);
于 2012-04-27T10:27:14.617 回答