【问题标题】:Open PDF with Adobe Acrobat from Cordova使用 Cordova 的 Adob​​e Acrobat 打开 PDF
【发布时间】:2019-01-20 02:57:18
【问题描述】:

我有一个可以通过 Adob​​e Acrobat 编辑的 pdf 文件。当我直接从 Adob​​e Acrobat 应用程序打开文件并编辑文件时,当我按下后退按钮时,它会自动保存,但是当我使用 Cordova 应用程序打开时,它正在使用 Adob​​e Acrobat 应用程序打开,我也可以编辑那个,但是当按下后退按钮并返回应用程序并再次从 Cordova 应用程序中点击该特定 pdf 文件时,它没有显示编辑的内容(它只发生在 android 7 版本以上,但低于 android 版本 7 它是在应用程序中运行良好)。

我用这个来自 Cordova 的代码打开文件,

var customPlugin = {
    createEvent : function(success, failure, action,arg1) {
        cordova.exec(success, // success callback function
        failure, // error callback function
        'Utils', // mapped to our native Java class
        action, // with this action name
        [arg1]);
    }
}

这里的“Utils”指的是我的 Java 类,我在其中编写了下面提到的名为 openFile 的函数,

// open the file
private boolean openFile(String fileName, String contentType)
        throws JSONException {
File file = new File(fileName);

if (file.exists()) {
    try {
        Uri path = Uri.fromFile(file);
        PackageManager packageManager = this.cordova.getActivity()
                .getPackageManager();
        String application_id = "com.processdrive.novema";
        try {
            PackageInfo packageInfo = packageManager.getPackageInfo(
                    this.cordova.getActivity().getPackageName(), 0);
            application_id  = packageInfo.packageName;
        } catch (NameNotFoundException e1) {
            // TODO Auto-generated catch block
            e1.printStackTrace();
        }
        if (Build.VERSION.SDK_INT >= 24) {             
            path = FileProvider.getUriForFile(this.cordova.getActivity(),
                application_id + ".provider",
                file);
        }
        Intent intent = new Intent(Intent.ACTION_VIEW);
        intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
        intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
        intent.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION);
        intent.addFlags(Intent.FLAG_GRANT_WRITE_URI_PERMISSION);
        intent.setDataAndType(path, contentType);
        cordova.getActivity().startActivity(intent);
        return true;
    } catch (android.content.ActivityNotFoundException e) {
        return false;
    }
} else {
    return false;
}

}

上述代码在 android 7 版本以下按预期工作,但在 android 7 版本以上它不适用于 PDF 文件中编辑的内容。

它是否需要应用程序或任何其他方式的任何额外许可?提前致谢!

【问题讨论】:

    标签: android cordova pdf cordova-plugins phonegap


    【解决方案1】:

    经过这么多点击,我在这里修好了,

    这按预期工作

    https://github.com/Evolution-36/cordova-plugin-file-opener2

    【讨论】:

      猜你喜欢
      • 2019-02-16
      • 1970-01-01
      • 2012-03-09
      • 2013-08-02
      • 1970-01-01
      • 2020-05-26
      • 2013-11-29
      • 2018-12-06
      • 1970-01-01
      相关资源
      最近更新 更多