android - 每隔三个应用程序从嵌入式文件中读取android上的pdf文件

原文 标签 android pdf

例如,我在阅读Adobe上的pdf时遇到困难。我有Document Viewer,在我购买它之前似乎已经在手机上安装了它(我认为这是默认的android应用程序)。有了它,我的代码就可以正常工作。
但是我看到过崩溃,尤其是那些没有文档查看器的人。

所以我用Adobe Reader测试了我的代码,它崩溃了!

有人可以向我解释我的代码有什么问题(和/或)给我Gplay链接让我的用户下载它。

public Intent readPdf(String name, int res) {
    final String extStorageDirectory = Environment
            .getExternalStorageDirectory().toString();
    final String festivalDirectory_path = extStorageDirectory
            + Constants.PDF_STORAGE_PATH;
    File pdfOutputFile = new File(festivalDirectory_path, "/");
    if (pdfOutputFile.exists() == false) {
        pdfOutputFile.mkdirs();
    }
    File pdfFile = new File(pdfOutputFile, name);
    // AssetManager assetManager = getAssets();
    InputStream in = null;
    try {
        // InputStream in = assetManager
        // .open("cartecannesplus01pdf.pdf");
        in = getResources().openRawResource(res);

        OutputStream out = new FileOutputStream(pdfFile);
        byte[] buffer = new byte[1024];
        int bufferLength = 0;
        while ((bufferLength = in.read(buffer)) > 0) {
            out.write(buffer, 0, bufferLength);
        }
        out.flush();
        out.close();
    } catch (Exception e) {
        Log.e("tag", e.getMessage());
    }
    Uri path = Uri.fromFile(pdfFile);


    Intent intent = null;
    if (Utils.appInstalledOrNot(me, "com.adobe.reader")) {
        intent = new Intent(Intent.ACTION_VIEW);
        intent.setDataAndType(path, "application/pdf");
        intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
    } else {
        intent = new Intent(Intent.ACTION_VIEW);
        intent.setData(Uri.parse("market://details?id=com.adobe.reader"));
    }

    return intent;

}


谢谢 !

雷诺

最佳答案

我发现了问题:
参数中的名称必须以.pdf结尾
如果没有,则Adobe Reader无法读取pdf,而它与我尝试过的所有其他pdf阅读器兼容!
谢谢大家 !

关于android - 每隔三个应用程序从嵌入式文件中读取android上的pdf文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10977531/

相关文章:

Android - 缩放、旋转位图并将其保存到 sdcard 而不损失质量

android - 将 Android Studio 从 2.1.2 更新到 2.2 - 找不到数据绑定(bind)库

ios - 在PDFKitten中无法进行特殊字符搜索

pdf - Apache FOP 不会包装我的文本

android - 如何在 Android 上 "preview layout"的 xml 文件?

android - 如何在Android上接收广播数据包

html - 是否可以通过纯 html 下载 pdf 文件?

pdf - 我能知道是哪个软件生成了 PDF 文件吗?

java - fragment 事务在替换中无法正常工作

java - 填写pdf表格后数字签名失效