【发布时间】:2018-01-22 10:08:29
【问题描述】:
是否有可能是这样的深层链接 我有http://example.com/shortlink之类的链接 当它打开到浏览器时,它会重定向到http://example.com/product?id=123 所以在那里我将打开我的应用程序并直接转到 id 为 123 的产品
我有这样的意图过滤器
[IntentFilter(new[] { Intent.ActionView },
Categories = new[] { Intent.CategoryDefault, Intent.CategoryBrowsable },
DataSchemes = new[] { "http", "https" },
DataHost = "example.com",
DataPathPrefixes = new[] { "/cat", "/test", "/product" },
DataPath = "/")]
现在重定向后的网址将直接打开播放商店,所以我无法在我的意图过滤器上捕获它 而且当我尝试直接将http://example.com/product?id=123 复制粘贴到浏览器时,它也直接进入播放商店。可以通过意图过滤器过滤吗?如果我从另一个应用程序(例如聊天应用程序)打开链接,它应该可以正常工作(显示我的应用程序的对话框弹出窗口)
【问题讨论】:
-
您可能会发现这很有用danielmuller.me/2013/02/…
-
我的问题有点不同。如果用户没有该应用程序,它可以正常工作。但是如果用户有应用程序,即使我已经在意图过滤器中捕获了域,它也总是会去播放商店
-
您的设备是否使用 Chrome 或 Firefox 打开链接? Firefox 处理事情的方式不同。
-
我用 chrome 试过了,还没有用其他浏览器测试过
-
在您的问题中,您是说它正在打开 PlayStore。 AFAIK,PlayStore 仅打开其链接(例如 play.google.com)而不是 example.com 类型的链接。可能是链接的网站(example.com 或其他)将您重定向到其 PlayStore 链接。在这种情况下,您可能不得不重新考虑您的解决方案。我猜你需要一个 API,它可以让你在你的应用程序中解码缩短的 URL。
标签: android android-intent xamarin.android deep-linking