检测是否从Google Play下载Android应用程序与Amazon vs Other

我知道这可能是一个很长的时间,但有没有什么方法可以通过编程方式检测应用是否托pipe在Amazonapp store和Google Play上? 我想链接到应用程序商店的应用程序被下载,我宁愿没有两个不同的APK只是这种差异,如果可以避免。

Solutions Collecting From Web of "检测是否从Google Play下载Android应用程序与Amazon vs Other"

就在最近,Amazon Appstore返回了PackageManager.getInstallerPackageName()理智值

 PackageManager pm = context.getPackageManager(); String installerPackageName = pm.getInstallerPackageName(context.getPackageName()); if ("com.android.vending".equals(installerPackageName)) { //do google things } else if ("com.amazon.venezia".equals(installerPackageName)) { //do amazon things } 

看到这里: https : //forums.developer.amazon.com/forums/thread.jspa?threadID=680

率这个应用程序链接的例子:

Google Play-

市场://细节ID = PACKAGANAME

亚马逊商店

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

要么

AMZN://应用/机器人P = com.amazon.mp3

最简单的方法是在Amazon和Google Play之间使用不同的版本代码或名称。 然后,您可以使用PackageManager.getPackageInfo来检索这些值,并从那里适当地selectapp store链接。

例如:用'.65'(即1.0.65)后缀所有亚马逊版本名称。 然后使用

 public boolean isAmazon(Context context) { String versionName = ""; try { versionName = context.getPackageManager().getPackageInfo( getPackageName(), 0).versionName; } catch (NameNotFoundException e) { // Can't find itself... } return versionName.endsWith(".65"); }