72 votes

Comment puis-je savoir si un paquet particulier existe sur mon appareil Android?

Comment puis-je savoir si un paquet particulier ou de l'application - dire, "com.android.abc" - existe sur mon appareil Android?

155voto

Rasel Points 9997

Appeler la méthode ci-dessous avec le nom de package.

    public boolean isPackageExisted(String targetPackage){
        List<ApplicationInfo> packages;
        PackageManager pm;
            pm = getPackageManager();        
            packages = pm.getInstalledApplications(0);
            for (ApplicationInfo packageInfo : packages) {
        if(packageInfo.packageName.equals(targetPackage)) return true;
        }        
        return false;
    }

 public boolean isPackageExisted(String targetPackage){
   PackageManager pm=getPackageManager();
   try {
    PackageInfo info=pm.getPackageInfo(targetPackage,PackageManager.GET_META_DATA);
       } catch (NameNotFoundException e) {
    return false;
    }  
    return true;
   }

4voto

user3078812 Points 11
Intent intent = new Intent("com.google.zxing.client.android.SCAN");
PackageManager packageManager = getPackageManager();
List<ResolveInfo> activities = packageManager.queryIntentActivities(intent, 0);
boolean isIntentSafe = activities.size() > 0;

3voto

inazaruk Points 37760

Vous devez utiliser PackageManagers'fonction appelée getInstalledPackages() pour obtenir la liste de tous les paquets installés et de recherche pour l'une qui vous intéresse. Notez que le nom du package est situé dans PackageInfo.packageName champ.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X