我尝试使用Adobe Reader从我的Android应用程序中打开PDF文件。当我的代码被删除时,Adobe Reader会打开,但会引发以下错误:'错误:文档路径无效' 文件blabla.pdf位于我的应用程序中 rootfolder
String filename = "blabla.pdf";
File file = new File(filename);
Uri internal = Uri.fromFile(file);
Intent target = new Intent(Intent.ACTION_VIEW);
target.setDataAndType(internal, "application/pdf");
target.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
intent = Intent.createChooser(target, "Open File");
try {
startActivity(intent);
} catch (ActivityNotFoundException e) {
Toast.makeText(this, "U hebt geen PDF viewer geïnstalleerd op dit toestel. " +
"Ga naar de app store en download een PDF viewer om dit bestand te openen.", Toast.LENGTH_LONG).show();
}
startActivity(intent);
答案 0 :(得分:2)
1)首先将文件复制到内部存储器。 - >将您的pdf文件保存在assets文件夹中。使用以下函数将文件复制到内部存储
private void copy( InputStream in, File dst ) throws IOException {
FileOutputStream out = new FileOutputStream( dst );
byte[] buf = new byte[1024];
int len;
while ( ( len = in.read( buf ) ) > 0 ) {
out.write( buf, 0, len );
}
in.close( );
out.close( );
}
函数调用相同:
File f = new File( getContext( ).getFilesDir( ), "abc.pdf" );
AssetManager assets = getContext( ).getResources( ).getAssets( );
copy( assets.open( "abc.pdf" ), f );
2)现在您已将文件保存在内部存储中,因此请使用以下代码来获取文件对象
File f = new File( getContext( ).getFilesDir( )+"/"+abc.pdf);
答案 1 :(得分:0)
使用以下代码检查文件路径是否正确
if(file.exists()){
//file path is correct
}else{
//file path is not correct
}
答案 2 :(得分:0)
您必须设置文件的完整路径。就像你在示例中所示
File file = new File(Environment.getExternalStorageDirectory().getAbsolutePath() +"/"+ filename);