我可以从我的资产文件夹中获取此文件
Intent i = new Intent(Intent.ACTION_VIEW);
i.setDataAndType(Uri.parse("file:///android_asset/help_doc.pdf"), "application/pdf");
i.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
try{
startActivity(i);
}catch(ActivityNotFoundException e){
Toast.makeText(this, "No Application Available to View PDF", Toast.LENGTH_SHORT).show();
}
但是当我选择要打开它的应用程序时,它要么没有打开,要么给我一个错误说error opening file. it does not exist or cannot be read
但是如果我把它放在我的SD卡上并点击它打开它我不会得到这个错误所以我怎么做错了?
答案 0 :(得分:4)
file://android_asset
仅适用于您的应用。你告诉其他人应用程序要做的是从他们的资产中读取help_doc.pdf
,而他们没有这样的文件。
您需要:
ContentProvider
将其提供给PDF查看应用This sample project演示了后一种方法。