Как открыть PDF-файл в моем приложении, используя другое установленное приложение для чтения PDF-файлов, и разрешить редактирование? - PullRequest
0 голосов
/ 24 февраля 2019

Я уже пробовал FileProvider, который может генерировать 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);

, где файл-провайдер настроен правильно.

Используя это, я могу вызвать ezpdf Reader или Adobe Acrobat Viewer, чтобы открыть файл PDF, который находится в хранилище /sdcard/, но я не могу его редактировать.

Читатель Ezpdf произносит тост, который оплакивает: «О, этот файл открыт из DATA STREAM, и я не могу его отредактировать!»

Android adobe acrobat ничего не делает и делает вид, что файл редактируется.Но после перезапуска все прошло.

У некоторых файловых менеджеров Android также есть эта проблема. Они не изощренны при открытии файлов.
Но файлы google идут, и файловый менеджер estrong отлично с этим справляется.

Как?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...