如何在允许编辑的同时使用另一个已安装的pdf阅读器应用程序在我的应用程序中打开pdf文件?

时间:2019-02-24 15:09:46

标签: android pdf android-intent android-file android-fileprovider

我已经尝试过FileProvider,它可以生成一个Uri,所调用的阅读器应用可以通过该Uri打开文件,但pdf 无法编辑

我的代码:

Intent it=new Intent(Intent.ACTION_VIEW);

File f = new File("/sdcard/t.pdf");

if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) {
    Uri contentUri = FileProvider.getUriForFile(this, "com.knziha.fileProvider", f);
    it.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION);
    it.addFlags(Intent.FLAG_GRANT_WRITE_URI_PERMISSION);
    it.setDataAndType(contentUri, "application/pdf");
} else {
    it.setData(Uri.fromFile(f));  
    it.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
    ...
}
startActivity(it);

fileprovider设置正确的位置。

使用此方法,我可以调用ezpdf阅读器或Adobe Acrobat Viewer打开位于/sdcard/存储库中的pdf文件,但是我无法对其进行编辑。

Ezpdf阅读器举杯哀悼:“哦,这个文件是从DATA STREAM中打开的,我不能编辑它!

Android adobe acrobat不执行任何操作,并假装文件正在编辑中。但是重新启动后一切都消失了。

某些android文件管理器也存在此问题。它们在打开文件时并不复杂。
但是,谷歌文件去了,强大的文件管理器可以很好地解决这个问题。

如何?

0 个答案:

没有答案