J’ai besoin de détecter que mon application est installée depuis Google Play ou un autre marché, comment puis-je obtenir ces informations?
La classe PackageManager fournit la méthode getInstallerPackageName qui vous indiquera le nom du package du package installé que vous avez spécifié. Les applications à chargement latéral ne contiennent aucune valeur.
EDIT : Notez la réponse de @mttmllns ci-dessous concernant Amazon app store.
Et FYI apparemment, la dernière version de la boutique Amazon définit finalement PackageManager.getInstallerPackageName()
sur "com.amazon.venezia"
pour contraster avec "com.android.vending"
Google Play.
J’utilise ce code pour vérifier si une version a été téléchargée depuis un magasin ou si elle était chargée sur le côté:
public static boolean isStoreVersion(Context context) { boolean result = false; try { Ssortingng installer = context.getPackageManager() .getInstallerPackageName(context.getPackageName()); result = !TextUtils.isEmpty(installer); } catch (Throwable e) { } return result; }