[英]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.