2010-07-05 8 views
22

Je me demande si je suis capable de détecter si mon application a été installée avec Android Market (c'est dans la liste de téléchargement du Market et est éligible pour les vérifications de mise à jour) ou non?Existe-t-il un moyen de détecter si l'application a été installée avec Market ou non?

Ce serait un très bon point de détecter si l'application a été installée sans, car cela peut signifier qu'il a été volé et installé à partir de SDcard.

Répondre

28

Dans votre activité faire

 
PackageManager pm = getPackageManager(); 
String installationSource = pm.getInstallerPackageName(getPackageName()); 

installationSource va maintenant contenir le nom du package de l'application qui a installé votre application.

test avec une source d'installation de l'application de la mine est "com.google.android.feedback" lorsqu'il est installé via google market, null s'il est installé via le débogueur.

+0

Est-ce que quelqu'un sait quel est le nom de paquet correspondant pour le marché Amazon? – emmby

+4

Récemment Android Market avait package "com.android.vending" –

+2

Nom du package pour Amazon Market est com.amazon.venezia –

0

Si vous n'êtes pas root (et que vous avez accès à Market database), je ne pense pas que ce soit possible.

+0

ils devraient fournir un fournisseur de contenr avec le db – Pentium10

Questions connexes