首页 > 解决方案 > Intent-Filter 允许通过 URL 启动或应用出现在 Android 启动器中

问题描述

我希望我的应用程序能够通过启动器以及当用户访问网站时启动。在我的 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>

有人有想法吗?

标签: javaandroidandroid-intent

解决方案


所以好消息是,每当您向 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>

推荐阅读