我在清单中有以下意图过滤器来接受深层链接网址:
<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:scheme="http" />
<data android:scheme="https" />
<data android:host="www.example.com"/>
<data android:host="example.com"/>
<data android:pathPattern="/path.*" />
</intent-filter>
点击以下链接时,一切都很有效:
然而 - 在Twitter上,网址会自动缩短为以下内容:
(对不起pic - SO不会让我发布一个缩短的链接示例......是吗?)
当用户点击链接时,此URL会被解析为真实的URL - 但是(!!),此时一旦将URL解析为与上述示例匹配的URL,android似乎不再关心我的意图过滤器,并在浏览器中打开URL。
如何解决这个问题,以便我的应用程序的网址从Twitter正确打开我的应用程序(或至少打开应用程序选择器)?
答案 0 :(得分:1)
您是对的 - 使用App Links,Android会检查正在打开的实际网址以查看是否已注册任何应用来处理它。如果缩短了URL(假设缩短的域本身未注册,显然t.co
就是这种情况),则不考虑通过重定向到达的后续URL。 iOS Universal Links的工作方式完全相同。
在Android上,您有两种选择: