With Android app stores offering marketplace-specific APIs, how do I build an Android app that conditionally uses vendor-specific libraries? For example, Amazon offers thei
I'm using this currently.
private boolean isAmazonInstall()
{
PackageManager pm = getPackageManager();
String installationSource = pm.getInstallerPackageName(getPackageName());
if (installationSource != null && installationSource.startsWith("com.amazon"))
{
return true;
}
return false;
}
Allegedly, for an Amazon install, the return value of getInstallerPackageName is "com.amazon.venezia". For applications installed from Google Play, the result is "com.android.vending" (although it used to be "com.google.android.feedback". Manual APK installs return null.
I haven't been able to find official confirmation that this approach is valid. But I haven't been able to find any better approach.