我正在处理pdf。我正在尝试使用下面的代码从我的应用程序中打开一个 pdf 文件。但是我没有打开。
private void openPdf() {
File file = new File("mnt/sdcard.test.pdf");
Uri path = Uri.fromFile(file);
Intent intent = new Intent(Intent.ACTION_VIEW);
intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
intent.setAction(Intent.ACTION_VIEW);
intent.setData(path);
intent.setType("application/pdf");
try {
startActivity(intent);
} catch (ActivityNotFoundException e) {
Toast.makeText(getActivity(), "No application found",
Toast.LENGTH_SHORT).show();
}
}
当我在模拟器中尝试此代码时,它显示一个吐司说“未找到应用程序”(bcoz,通常模拟器中没有安装 pdf 查看应用程序)。当我在设备中测试相同的东西(特别是在 funbook 选项卡和索尼选项卡中)时,它既没有显示 Toast 消息,也没有打开 pdf 文件。任何人都可以指出我的代码中的错误。实际上,我是第一次使用 pdf。所以我的问题是,
- 在设备中它没有显示 toast 消息,这意味着我的手机中安装了一个 pdf 查看应用程序?这样对吗?
- 如果是这样,为什么不使用第三方应用程序打开 pdf。
- 如果我想向用户列出我手机中安装的所有 pdf 查看应用程序,我应该在此代码中进行哪些更改?