如何仅将我的应用用于具有特定前缀的intent-filter URL?

时间:2016-01-14 12:15:04

标签: android http android-intent url-routing

假设我们有一个活动来使用specificix pathPrefix解析外部URL链接。这不是一个问题。问题是有一种方法可以使这些链接只能与我的应用程序解析。 例如: 我们有这个意图过滤器

<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="example.com"
         android:pathPrefix="/specific_prefix/"
         android:scheme="http" />
</intent-filter>

我只希望我的应用程序用于“example.com/specific_prefix/etc”。如果那个前夕可能吗?

1 个答案:

答案 0 :(得分:1)

  

我只希望我的应用程序用于“example.com/specific_prefix/etc”。如果那个前夕可能吗?

没有

首先,URL的解释方式取决于解释URL的应用程序。某些Web浏览器遇到http网址时,会始终自行处理,而不是查看第三方应用是否宣传了对它的支持。

其次,在有两个或更多声称支持某个操作的应用程序的情况下,用户选择使用哪个应用程序。在您的情况下,Web浏览器和您的应用程序将声称处理该URL,并且用户可以选择用户想要的那些。

使用Android 6.0的app links,默认情况下您可以避开选择器,因此如果选择器出现,用户将直接进入您的应用。但是,用户可以在“设置”中禁用此功能。