如何从原始文件夹中打开PDF文件? 此代码用于从SD卡访问PDF文件..
File file = new File(getFilesDir(), "teen_ebook.pdf");
try {
if (file.exists()) {
Uri path = Uri.fromFile(file);
Intent intent = new Intent(Intent.ACTION_VIEW);
intent.setDataAndType(path, "application/pdf");
intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivity(intent);
Log.e("IR", "No exception");
}
else {
Toast.makeText(PdfActivity.this, "File NotFound",Toast.LENGTH_SHORT).show();
}
}
catch (ActivityNotFoundException e) {
Toast.makeText(PdfActivity.this, "No Application Available to View PDF", Toast.LENGTH_SHORT).show();
}
但我想从原始文件夹访问PDF文件? 这里有人请建议我。
答案 0 :(得分:1)
您无法从原始文件夹直接打开PDF文件。它需要PDFViewer应用程序才能打开PDF文件。
您必须将PDF文件复制到SD卡中,然后才能打开以阅读它。
public void openPDF(){
copyFile(getResources().openRawResource(R.raw.hello_world);
, new FileOutputStream(new File(getFilesDir(), "yourPath/teen_ebook.pdf")));
File pdfFile = new File(getFilesDir(), "yourPath/teen_ebook.pdf");
Uri path = Uri.fromFile(pdfFile);
Intent intent = new Intent(Intent.ACTION_VIEW);
intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
intent.setDataAndType(path, "application/pdf");
startActivity(intent);
}
private void copyFile(InputStream in, OutputStream out) throws IOException {
byte[] buffer = new byte[1024];
int read;
while((read = in.read(buffer)) != -1){
out.write(buffer, 0, read);
}
}