2013-09-03 48 views
8

ドギーのビット。アプリが存在するかどうかを確認し、そうでない場合は、店舗に行く

私が知りたいのは、アプリがデバイスに存在しない場合、それをダウンロードするためにプレイストアに入ることができるということです。私は

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

にこのコードを配置する必要があります知っている。しかしそれdoesntのが存在する場合、私は、あなたがアプリかどうかを確認するには、次の関数のいずれかを使用することができ、それがPlayストア

答えて

9

に行くために得ることができますインストールされているかどうか。

機能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; 
} 

それとも機能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

あなたがのpackageNameを入れているところ、それは担当者になりますcom.package.adressと結びついていますか? – j1mmyg88

+0

はい。 'com.package.name'は' com.package.address'に置き換えてください –

+0

ありがとう、これは美しく働いています。 – j1mmyg88

関連する問題