可以绕过Android意图过滤器吗?

可以绕过Android意图过滤器吗?,android,android-intent,Android,Android Intent,在我的应用程序中,如果在web浏览器或其他字段中单击,我会设置一个意图过滤器来匹配某些类型的链接。目前看起来是这样的: <intent-filter> <action android:name="android.intent.action.VIEW" /> <category android:name="android.intent.category.DEFAULT" /> <category android:name="and

在我的应用程序中,如果在web浏览器或其他字段中单击,我会设置一个意图过滤器来匹配某些类型的链接。目前看起来是这样的:

<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:host="www.mydomain.com"
        android:scheme="http" />
    <data
        android:host="mydomain.com"
        android:scheme="http" />
    <data
        android:host="m.mydomain.com"
        android:scheme="http" />
</intent-filter>

然后用户可以选择在应用程序中打开文章,我可以唯一地显示内容。这里有一个问题——在这个应用程序中,我想为用户提供一个选项,让他们仍然可以“在浏览器中打开”。然而,如果我这样做了,只是试图激发一个启动浏览器的意图,我的应用程序会再次捕捉到链接,我们会绕一圈


如何在浏览器中强制打开链接?

我相信您可以使用中提供的答案来达到目的。基本上,当您启动“在浏览器中打开”意图时,您可以预览能够打开它的活动。从那里,你可以选择一个不是你的应用程序,并将其设置为intent上的包,这将导致另一个应用程序打开它

在最坏的情况下,你可以强制创建选择器,该选择器将同时包含你的应用程序和其他可以打开你网站的应用程序,使用户可以选择浏览器


可能也很有用,因为它的答案包含一个自定义选择器的实现,它显然允许你过滤可见的活动,因此你可以删除你的应用程序。

我不知道有什么方法可以绕过Android意图过滤器

如果用户使用Android默认浏览器或Chrome,则应使用以下链接中的方式打开特定的意图