2017-12-11 3 views

Antwort

1

Try this:

private boolean isPackageInstalled(String packagename, PackageManager packageManager) { 
    try { 
     packageManager.getPackageInfo(packagename, 0); 
     return true; 
    } catch (NameNotFoundException e) { 
     return false; 
    } 
} 

Es wird versucht, Informationen über das Paket, dessen Name in Sie bestanden zu holen Gelingt das nicht, wenn ein NameNotFoundException geworfen wurde, bedeutet dies, dass kein Paket mit diesem Namen installiert ist, so wir. falsch zurückgeben. in Ihrem Fall

 public void someMethod() { 
      // ... 
     String googleMapsPackageName = "com.google.android.apps.maps" 
     PackageManager pm = context.getPackageManager(); 
     boolean isInstalled = isPackageInstalled(googleMapsPackageName, pm); 
     if(isInstalled) 
     // go to maps 
      else 
    startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse("market://details?id=" + googleMapsPackageName))); 

      // ... 
     } 
Verwandte Themen