Я использую следующий код, чтобы открыть 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);
}