2013-09-03 3 views
8

ein bisschen doozy gehen.Identifizieren, ob eine App existiert, wenn nicht zum Laden gehen

Was ich gerne wissen würde ist, dass es möglich ist, dass, wenn eine App nicht auf einem Gerät existiert, es in den Play Store gehen kann, um es herunterzuladen. Ich weiß, ich brauche

Intent i = getPackageManager().getLaunchIntentForPackage("com.package.address"); 
    startActivity(i); 

in diesen Code setzen Aber wenn das tut existieren, kann ich es dann

zum Play Store holen zu

Antwort

9

Sie eine der folgenden Funktion verwenden können, ob die App überprüfen ist installiert oder nicht.

Funktion 1

private boolean isAppInstalled(String packageName) { 
    PackageManager pm = getPackageManager(); 
    boolean installed = false; 
    try { 
     pm.getPackageInfo(packageName, PackageManager.GET_ACTIVITIES); 
     installed = true; 
    } catch (PackageManager.NameNotFoundException e) { 
     installed = false; 
    } 
    return installed; 
} 

Oder Funktion 2

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

USAGE

if(isAppInstalled("com.package.name")){ 
    //Your Code 
} 
else{ 
    startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse("market://details?id=com.package.name"))); 
} 
+0

wo Sie package gesetzt haben, dass rep wäre geschnürt mit com.package.adress? – j1mmyg88

+0

Ja. 'com.package.name' sollte ersetzt werden durch' com.package.address' –

+0

Vielen Dank, das hat wunderbar funktioniert. – j1mmyg88

Verwandte Themen