バイト配列を入力として受け取り、AdobeReaderでPDFファイルを表示するクラスopenPDFを作成しました。コード:
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();
}
}
意図を渡すと、AdobeReaderからのエラーは「無効なファイルパス」です。私はAndroidでのPDFのダウンロードと表示に関連する他のすべての投稿を読みましたが、dintは大いに役立ちます。助言がありますか?