我尝试通过设备上的pdf查看器从我的apps目录中打开pdf文件。
PackageManager m = getPackageManager();
String s = getPackageName();
PackageInfo p;
try {
p = m.getPackageInfo(s, 0);
s = p.applicationInfo.dataDir;
} catch (NameNotFoundException e) {
Log.w("Error", "Error Package not found ", e);
}
Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(s + "\\Document.pdf"));
intent.setType("application/pdf");
PackageManager pm = getPackageManager();
Intent crC = Intent.createChooser(intent, "Open File"); startActivity(crC);
在测试设备上安装了pdf查看器。尽管如此,我告诉现有的应用程序无法打开该文件。我做错了吗?
答案 0 :(得分:1)
如果有人仍然感兴趣,这是我的解决方案:
我只是改变了代码:
Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(s + "\\Document.pdf"));
intent.setType("application/pdf");
到此:
Intent intent = new Intent(Intent.ACTION_VIEW);
intent.setDataAndType(Uri.parse(s + "\\Document.pdf"), "application/pdf");
突然间它奏效了。 :)
答案 1 :(得分:0)
以下代码应该做什么?
PackageManager pm = getPackageManager();
Intent crC = Intent.createChooser(intent, "Open File"); startActivity(crC);
我假设您查看了一些教程,并在此处获得了所有内容的混合。而不是那两行,只需尝试
startActivity(intent);
这不起作用吗?