我在尝试在我的应用程序中打开 PDF 文件时遇到了这个问题,如果设备上没有 PDF 查看器,它会重定向到 Play 商店以下载 Adobe Reader。但是我已经下载了 Adobe Reader,它仍然可以捕获ActivityNotFoundException
.
这是我的代码:
Uri uri = Uri.parse(pdfUrl);
intent = new Intent(Intent.ACTION_VIEW);
intent.setDataAndType(uri, "application/pdf");
intent.setFlags(Intent.FLAG_ACTIVITY_NO_HISTORY);
try {
startActivity(intent);
} catch (ActivityNotFoundException e) {
// No application to view, ask to download one
AlertDialog.Builder builder = new AlertDialog.Builder(this);
builder.setTitle("No Viewer");
builder.setMessage("Download PDF Viewer?");
builder.setPositiveButton(getString("Okay"),
new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog,
int which) {
Intent innerIntent = new Intent(
Intent.ACTION_VIEW);
innerIntent.setData(Uri
.parse("market://details?id=com.adobe.reader"));
startActivity(innerIntent);
}
});
builder.setNegativeButton("Cancel"), null);
builder.create().show();
}
我已经下载了 Adobe 阅读器,下次我运行该应用程序时,它仍然会提示我下载 PDF 查看器的对话框。这背后的原因是什么?