通过重定向链接在Google Play中打开应用

时间:2012-05-01 16:57:41

标签: android google-play

在Android设备上,在Google Play上打开指向应用的链接:

https://play.google.com/store/apps/details?id=com.rovio.angrybirds&hl=en

默认会自动打开Goog​​le Play应用。

但是,如果您有重定向到Google Play链接的链接,设备会打开浏览器,然后导航到Google Play的浏览器版本。为什么会出现这种情况?

不幸的是我无法使用市场://使用可以打开Play的Intents,我只能控制网络链接。

修改 似乎如果我将链接重定向到市场:// url,它可以在设备上使用Google Play打开。

如果在浏览器中打开了链接,那么无论如何,它都可以重定向到Google Play的浏览器版本://浏览器不支持。

3 个答案:

答案 0 :(得分:39)

使用target="_top"

 <a href="market://details?id={package_name}" target="_top">App</a>

答案 1 :(得分:5)

基本上,https://play ....只是一个网址。我怀疑它的工作方式(这是Android工作的标准方式)是:

  1. 市场游戏应用程序注册为能够处理此类URL(您可以注册处理某些意图,并应用过滤器以进一步定义您的应用将处理的内容)。
  2. 该应用会使用https://play ...网址
  3. 启动意图
  4. 向用户显示已注册处理该意图的所有应用的列表。因此,用户可以启动Play应用程序 - 第一次(在手机上)启动https:\ play ... intent
  5. 当用户选择要完成Intent的应用程序时,如果他们选择浏览器(然后将其设置为默认值) - 浏览器将启动(并且下次不会向用户提供该选项)。
  6. 此默认设置可以是:“Settings \ Applications \ All - 然后找到浏览器应用程序,选择它,然后选择清除默认值”
  7. 您可以直接使用市场意图调用Play Market,也可以使用URL方式。我个人使用URL方式 - 即使使用它还有一些额外的挑战(比如处理这个特定问题)。

答案 2 :(得分:1)

我的猜测是该行为是由Google强制执行的。重定向可能会使意图错误的开发人员更容易安装他们的应用程序。 Google可能会检查用户是否来自重定向,如果是,则不会触发Play应用的打开。