Android 是否可以在一个操作中注册两个操作<;意向过滤器>;活动

Android 是否可以在一个操作中注册两个操作<;意向过滤器>;活动,android,android-manifest,intentfilter,Android,Android Manifest,Intentfilter,我想注册我的启动器活动,这样就可以通过点击图标和打开带有自定义方案的链接来启动它。我设法使它工作,但我怀疑这是正确的方式。这是我舱单的相关部分: <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.MULTIWINDOW_LAUNCH

我想注册我的启动器活动,这样就可以通过点击图标和打开带有自定义方案的链接来启动它。我设法使它工作,但我怀疑这是正确的方式。这是我舱单的相关部分:

  <intent-filter>
            <action android:name="android.intent.action.MAIN" />

            <category android:name="android.intent.category.MULTIWINDOW_LAUNCHER" />
            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
        <intent-filter>
            <action android:name="android.intent.action.VIEW" />

            <category android:name="android.intent.category.DEFAULT" />
            <category android:name="android.intent.category.BROWSABLE" />

            <data android:scheme="my.sheme" />
        </intent-filter>

这确实有效,但我想知道是否应该在相同的意图过滤器下注册这两个操作。我试着将标签从第二个过滤器移动到第一个过滤器,但是我的活动在安装时没有显示图标。我只是犯了一些小的语法错误(或者打破了一些未记录的声明顺序规则),或者我在这方面的想法是完全错误的,还有更深层的原因为什么这不起作用

注意:我确实设置了android:exported=“true”,但是android.intent.action.MAIN即使没有它也可以工作,因为如果使用action.MAIN,它仍然会被导出,如下所示:

当您想要处理多种意图,但仅在操作、数据和类别类型的特定组合中处理时,则需要创建多个意图过滤器


否则,您可以将它们组合成一个意向过滤器。

两个意向过滤器是您应该遵循的路径。我错过了该段落,因此感谢您的参考。这实际上意味着在意图过滤器下只能有一个动作?不,可以有多个动作。但它们需要匹配任何类别的组合。一个动作
android.intent.action.VIEW
和一个类别
android.intent.category.MULTIWINDOW\u启动器
没有多大意义。在上一个例子中,在一个intent过滤器中有多个动作:
android.intent.action.SEND
android.intent.action.SEND\u multiple
我仍然不是100%清楚这个问题一个筛选器中有多个操作,但此答案中引用的页面是此筛选器的正确数据源。不幸的是,这一页上的解释有点复杂,但我现在正在基于这些进行实验,所以这似乎是正确的答案。