Как я могу передать PDF в Adobe Reader на Android, намереваясь редактировать непосредственно, а не копию? - PullRequest
0 голосов
/ 30 сентября 2019

Я использую следующий код, чтобы открыть PDF-форму. Если я использую Acrobat Reader, невозможно вернуться к исходному файлу. Он всегда делает копию, о которой я только мог догадаться, но новичок знает наверняка в моем приложении.

Я знаю, что должна быть возможность отредактировать оригинал, потому что, если я открою pdf из любого файлового менеджера (например,Adobe Reader редактирует его напрямую.

Xodo PDF позволяет редактировать напрямую. Он даже поддерживает правильное намерение ACTION_EDIT, но я боюсь, что наши пользователи настаивают на использовании Adobe ...

Как я могу редактировать оригинал с помощью Adobe?

final File file = new File(Environment.getExternalStoragePublicDirectory(DIRECTORY_DOWNLOADS) + File.separator + "x.pdf");
if(file.exists())
{
    file.setWritable(true,false);
    Intent intent = new Intent(Intent.ACTION_VIEW);
    Uri contentUri = FileProvider.getUriForFile(Objects.requireNonNull(getContext()),
    BuildConfig.APPLICATION_ID + ".fileprovider", file);
    intent.setDataAndType(contentUri,"application/pdf");
    intent.setFlags(Intent.FLAG_ACTIVITY_NO_HISTORY|Intent.FLAG_GRANT_WRITE_URI_PERMISSION|Intent.FLAG_GRANT_READ_URI_PERMISSION);
    intent = Intent.createChooser(intent, "Open File");
    startActivity(intent);
}
...