检测是否从Google Play和Amazon vs Other下载了Android应用

Sky*_*sey 17 android amazon-appstore google-play

我知道这可能是一个远景,但有没有办法以编程方式检测应用程序是否托管在亚马逊应用商店和Google Play上?我想链接到应用程序从应用程序商店下载,如果可以避免的话,我宁愿没有两个不同的APK.

pre*_*ion 24

截至最近,亚马逊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
}
Run Code Online (Sandbox Code Playgroud)

请参阅: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

  • 请注意,如果使用ADB安装应用程序,则getInstallerPackageName()可能会返回null (7认同)