使用清单 Intent 过滤器阻止应用在 url 中针对特定关键字显示在(打开为对话框)中

prevent the app to be displayed in ( open as dialog ) for specific keywords in url using manifest intent filter

现在我的清单代码中有

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

        <category android:name="android.intent.category.LAUNCHER" />
    </intent-filter>
    <intent-filter
        android:autoVerify="true"
        android:label="@string/app_name" >
        <action android:name="android.intent.action.VIEW" />

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

        <data android:scheme="https" />
        <data android:scheme="http" />
        <data
            android:name="default-url"
            android:host="@string/bc"
            android:scheme="@string/bc" />
    </intent-filter>

如果用户单击以我的应用程序域开头的 URL,则允许​​用户打开对话框,例如:pop-up dialog to select the app

它工作正常,但是,当用户请求忘记密码时,他在他的电子邮件中收到 link 以重置密码。

他收到的link是这样的:www.domain.com/forget_password/email.

我想要的是让应用程序 link 正常工作,但如果域包含 /forget_password 默认情况下打开浏览器,而不是应用程序。

抱歉,<intent-filter> 中没有“排除”逻辑。你不能创建一个 <intent-filter> 说“我接受除此之外的一切”。

您将需要处理应用程序中的 forget_password 路径,可能需要您自己启动 Web 浏览器。