2013-09-03 8 views
8

trochę doozy.Określanie, czy aplikacja istnieje, czy nie iść do sklepu Play

Chciałbym wiedzieć, że jest możliwe, że jeśli aplikacja nie istnieje na urządzeniu, może przejść do sklepu Play, aby ją pobrać. Wiem, że muszę umieścić ten kod w

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

Ale jeśli to robi istnieje, mogę wtedy zrobić to udać się do Sklepu Play

Odpowiedz

9

Można użyć jednego z następujących czynności, aby sprawdzić, czy aplikacji jest zainstalowany lub nie.

Funkcja 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; 
} 

Albo Funkcja 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; 
} 

ZASTOSOWANIE

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

gdzie trzeba umieścić packageName, byłoby to rep splecione z com.package.adress? – j1mmyg88

+0

Tak. 'com.package.name' powinno zostać zastąpione przez' com.package.address' –

+0

dzięki wielkie, to zadziałało pięknie. – j1mmyg88

Powiązane problemy