Android - 从服务器显示PDF

时间:2016-06-30 18:59:57

标签: android android-intent android-activity

尝试显示从服务器收到的PDF,但收到“未找到媒体错误”

首先我将String转换为字节数组:

byte[] data = Base64.decode(stringData, Base64.DEFAULT);

然后我将byte []写入文件:

String path = getFilesDir() + "/myfile.pdf";     
File file = new File(path);

if (!file.exists()) {
    file.createNewFile();
}

FileOutputStream stream = new FileOutputStream(file);
stream.write(article.getFileDataBytes());
stream.close();

然后我尝试显示PDF:

Uri path2 = Uri.fromFile(file);
Intent intent = new Intent(Intent.ACTION_VIEW);
intent.setDataAndType(path2, "application/pdf");
startActivity(intent);

但在调用startActivity后,我收到“未找到媒体错误”

我不确定在编写文件

时没有抛出异常是什么错误

1 个答案:

答案 0 :(得分:1)

您正在将文件写入内部存储空间。没有第三方应用可以直接访问您的内部存储。使用FileProvider将PDF提供给第三方应用。

除了我从资产中获取起始PDF之外,

This sample app几乎可以满足您的需求。