8

有点傻。

我想知道的是,如果设备上不存在应用程序,是否有可能进入Play商店下载它。我知道我需要将此代码放入

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

但如果那不存在,我可以让它去 Play 商店吗

4

1 回答 1

9

您可以使用以下功能之一来检查应用程序是否已安装。

功能一

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

用法

if(isAppInstalled("com.package.name")){
    //Your Code
}
else{
    startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse("market://details?id=com.package.name")));
}
于 2013-09-03T15:21:18.350 回答