Intent-Filter:使用两个动作以及 Launcher 和 Browsable 类别

Intent-Filter: Using two actions along with Launcher and Browsable category

TL;DR 我可以在一个 intent-filter 中使用两个动作和两个类别吗?

我的应用程序由一个 activity 和五个片段组成。我在 activity.

中有一个 Intent Filter
<intent-filter>
    <action android:name="android.intent.action.MAIN" />
    <category android:name="android.intent.category.LAUNCHER" />
</intent-filter>

今天,我在清单文件中的 application 标记周围看到一条 lint 消息 "App is not indexable by Google..."。因此,我进行了一些搜索,了解到您可以使用它通过 google 搜索为您的应用编制索引。如果 android 用户从 chrome/systemBrowser 浏览网页 link "www.example.com/myapp",他将被带到我的应用程序而不是网页。对吗?

现在,我必须向 activity 添加一个 ActionView。而且,我的意图过滤器将变成,

<intent-filter>
    <action android:name="android.intent.action.MAIN" />
    <action android:name="android.intent.action.VIEW" />
    <category android:name="android.intent.category.LAUNCHER" />
    <category android:name="android.intent.category.BROWSABLE" />
    <data android:scheme="http" android:host="www.example.com" android:pathPrefix="/myapp" />
 </intent-filter>

但是,我了解到使用两个动作并不好。这是一个逻辑或操作。 Intent-Filter 将只匹配其中之一:

据我了解,它应该使用第一个选项在设备上打开应用程序,当用户浏览提供的 "www.example.com/myapp" 的浏览器时,它应该使用第一个和第四个选项从 [=65] 打开应用程序=].

我看过这个question,但我需要举个例子来确定。

令人困惑。我可能完全错了,请指导我。

在 SO Chat 的帮助下,我被告知要使用单独的 intent-filters

    <activity
        android:name=".activities.MainActivity"
        android:label="@string/app_name">

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

        <intent-filter>
            <action android:name="android.intent.action.VIEW" />
            <category android:name="android.intent.category.BROWSABLE" />
            <data android:scheme="http" android:host="www.example.com" android:pathPrefix="/prefix" />
        </intent-filter>

    </activity>