从 Cordova 使用 Adob​​e Acrobat 打开 PDF

Open PDF with Adobe Acrobat from Cordova

我有一个可以通过 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 class 其中我编写了下面提到的名为 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 文件中的编辑内容。

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

经过这么多次点击,我在这里修复了它,

这按预期工作

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