识别应用是否存在,如果不存在则前往应用商店。

8

有点艰难。

我想知道的是,如果一个应用程序在设备上不存在,它能否进入Play商店下载。我知道我需要放入这段代码:

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

如果没有这个选项,我能否让它跳转到Play商店?
1个回答

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

或者 第二个功能
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")));
}

在你放置packageName的地方,是否应该替换为com.package.adress? - j1mmyg88
是的。com.package.name 应该被替换为 com.package.address - Sunil Mishra

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接