我创建了一个 openPDF 类,它以字节数组作为输入,并使用 Adobe Reader 显示 PDF 文件。代码:
private void openPDF(byte[] PDFByteArray) {
try {
// create temp file that will hold byte array
File tempPDF = File.createTempFile("temp", ".pdf", getCacheDir());
tempPDF.deleteOnExit();
FileOutputStream fos = new FileOutputStream(tempPDF);
fos.write(PDFByteArray);
fos.close();
Intent intent = new Intent();
intent.setAction(Intent.ACTION_VIEW);
Uri uri = Uri.fromFile(tempPDF);
intent.setDataAndType(uri, "application/pdf");
intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivity(intent);
} catch (IOException ex) {
String s = ex.toString();
ex.printStackTrace();
}
}
当我通过 intent 时,来自 adobe reader 的错误是“Invalid file path”。我阅读了与在 android 中下载和查看 PDF 相关的所有其他帖子,但帮助很大。有什么建议么?