我正在尝试创建一个可让您查看存储的PDF的应用,就像一个简单的文件阅读器。
我正在使用导航抽屉项目基地,我似乎无法打开PDF。
我在资产中存储了测试PDF /我也尝试过raw /。如果我尝试使用assets /它会在我尝试在设备上打开PDF时崩溃,说"无法显示PDF(无法打开test.pdf)。
我尝试过几种方法尝试让它工作但没有一种方法占上风,这是我现在的代码:
public void onSectionAttached(int number){
switch (number) {
case 1:
mTitle = getString(R.string.title_song);
File pdfFile = new File("/assets/test.pdf");
Uri path = Uri.fromFile(pdfFile);
Intent intent = new Intent(Intent.ACTION_VIEW);
intent.setDataAndType(path, "application/pdf");
intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
try
{
startActivity(intent);
}
catch(ActivityNotFoundException e)
{
Toast.makeText(MainActivity.this, "It didn't crash!", Toast.LENGTH_LONG).show();
}
break;
case 2:
mTitle = getString(R.string.title_artist);
break;
}
}
答案 0 :(得分:1)
您正在开始查看文件的意图。意图是启动另一个应用程序。它无权查看您的资产,甚至您的私人文件。将其复制到有权从第一个文件读取文件的位置,或者您需要实现ContentProvider并为他们提供对文件的访问权。