繁体   English   中英

Java android检查是否没有安装Acrobat Reader

[英]Java android check if Acrobat Reader is installed if no download

我想检查是否在未安装时安装了Acrobat Reader我想在Adobe Acrobat Reader上打开android市场

这是我检查安装的方式:

public static boolean canDisplayPdf(Context context) 
{
    PackageManager packageManager = context.getPackageManager();
    Intent testIntent = new Intent(Intent.ACTION_VIEW);
    testIntent.setType(MIME_TYPE_PDF);
    if (packageManager.queryIntentActivities(testIntent, PackageManager.MATCH_DEFAULT_ONLY).size() > 0) {
        return true;
    } else {
        return false;
    }
}

接下来,当此方法返回false时,我想开一个安卓市场(apk):

final String appPackageName = getPackageName(); // getPackageName() from Context or Activity object
try
{
    startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse("market://details?id=Adoba Acrobat Reader" + appPackageName)));
} catch (android.content.ActivityNotFoundException anfe) 
{
    startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse("http://play.google.com/store/apps/details?id= Adoba Acrobat Reader" + appPackageName)));
}

但是打开一个Android市场是行不通的

您可以使用此方法检查Adobe Acrobat Reader是否已安装:

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

用法:

boolean isAdobeInstalled = isPackageInstalled("com.adobe.reader", getPackageManager());
if (isAdobeInstalled) {
   startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse("http://play.google.com/store/apps/details?id=com.adobe.reader")));
}

更改

Uri.parse("http://play.google.com/store/apps/details?id= Adoba Acrobat Reader" + appPackageName)));

Uri.parse("https://play.google.com/store/apps/details?id=com.adobe.reader)));

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM