【问题标题】:Redirect user to App Store in Android将用户重定向到 Android 中的 App Store
【发布时间】:2012-06-26 13:14:10
【问题描述】:

众所周知,我们可以按照以下链接中的说明发送意图,然后将用户重定向到 Google Play。

Uri marketUri = Uri.parse("market://details?id=" + packageName);
Intent marketIntent = new Intent(Intent.ACTION_VIEW, marketUri);
startActivity(marketIntent);

但问题是所有应用商店,尤其是亚马逊应用商店(在 Kindle 中),也可以处理这种意图吗?
我知道以下 URI 必须将用户重定向到亚马逊应用商店:

http://www.amazon.com/gp/mas/dl/android?p=package

但是,我不想拥有两个二进制文件,一个用于普通 Android,另一个用于 Amazon。

【问题讨论】:

  • 您不能检测设备并根据设备使用任一 URL 吗?
  • 是的,但我认为这不是一个好的解决方案。实际上,不仅有 Google Play 和 Amazon App Store,中国的 Android 手机/平板电脑也有很多 App Store。而且我无法处理所有设备...顺便说一句,我知道我可以找到制造商,但我不知道从亚马逊设备返回的确切字符串,因为我手头没有设备
  • 亚马逊应用商店可以安装在所有设备上,而不仅仅是 Kindle。通过设备检测还不够好,您必须在您的应用中放置一些标志,以通知该应用的来源。
  • 即使亚马逊应用商店也存在,如果有 Google Play,也可以将用户重定向到 google play

标签: android android-intent


【解决方案1】:

没有通用方法,这里要做的就是在你的代码中设置一堆标志。

所以你会有类似的东西

boolean AMAZON_APK=true;
boolean ANDROID_APK =false;
....

然后,您可以在要发布到亚马逊和要发布到 Android Play 时设置适当的值。在启动市场之前的代码中,您将使用一堆 if 语句检查标志,并根据特定市场支持的内容启动适当的意图。这没什么大不了的,因为您只需更改几个变量。

if(AMAZON_APK)
  //launch amazon intent
if(ANDROID_APK)
  //launch android market intent
....

您可以在此处查看更完整的示例。 How can I do an Amazon App Store search using an Intent and filter it by developer name? 此外,如果某些市场不支持任何类似市场意图的内容,您可以启动一个指向移动网站的链接,并将用户从那里指向您的应用程序。

【讨论】:

  • 正如我之前提到的,我不想拥有两个单独的二进制文件。我想知道的是,亚马逊设备是否可以识别我上面提到的意图。我知道它被亚马逊应用商店禁止,但我不在乎,因为我不打算上传到他们的应用商店。我只是想确保它真的在亚马逊设备中有效
  • 对,虽然我无法确认 kindle 对市场意图的作用,但无需发布单独的二进制文件的方法是使用 PackageManager 查看是否安装了 Play 商店,然后启动 android 意图,如果不检查是否安装了亚马逊,如果两者都没有,则使用您知道的网站或任何其他“商店”应用程序。请参阅使用包管理器检查已安装的应用程序stackoverflow.com/q/6711295/329034
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-09-05
  • 1970-01-01
  • 2020-04-16
  • 2012-12-12
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多