Intent-Filter允许通过URL启动或出现在Android启动器中的应用

时间:2019-01-09 18:07:31

标签: java android android-intent

我希望我的应用程序能够通过启动器启动,并且还可以在用户访问网站时启动。在我的AndroidManifest.xml中使用以下代码可使该应用在启动器中可见,但在我访问app.example.org时将无法启动:

<intent-filter>
    <action android:name="android.intent.action.MAIN" />
    <category android:name="android.intent.category.LAUNCHER" />
    <action android:name="android.intent.action.VIEW"></action>
</intent-filter>
<intent-filter>
    <category android:name="android.intent.category.DEFAULT"></category>
    <category android:name="android.intent.category.BROWSABLE"></category>
    <data
        android:host="app.example.org"
        android:scheme="https"></data>
</intent-filter>

但是,当我使用以下代码时,该应用将通过访问url打开,但不会出现在启动器中:

<intent-filter>
    <action android:name="android.intent.action.MAIN" />
    <category android:name="android.intent.category.LAUNCHER" />
    <action android:name="android.intent.action.VIEW"></action>
    <category android:name="android.intent.category.DEFAULT"></category>
    <category android:name="android.intent.category.BROWSABLE"></category>
    <data
        android:host="app.example.org"
        android:scheme="https"></data>
</intent-filter>

有人有主意吗?

1 个答案:

答案 0 :(得分:0)

所以,好事是,每当您在SO上发布内容时,您都会在5分钟后自己找到答案-所以就在这里:

移动线

<action android:name="android.intent.action.VIEW"></action>

从负责启动器的意图过滤器,到负责网络财富的意图过滤器,如下所示:

<intent-filter>
    <action android:name="android.intent.action.MAIN" />
    <category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
<intent-filter>
    <category android:name="android.intent.category.DEFAULT"></category>
    <category android:name="android.intent.category.BROWSABLE"></category>
    <action android:name="android.intent.action.VIEW"></action>
    <data
        android:host="app.example.org"
        android:scheme="https"></data>
</intent-filter>