Я знаю, что на этот вопрос отвечали несколько раз, но ни один из ответов не сработал для меня.
Я пробовал эти решения:
как открыть файл pdf из папки активов
Попытка открыть файл PDF из папки ресурсов с помощью fileProvider, но при этом возникает FileNotFoundException: Нет такого файла или каталога
Чтение pdf-файла из папки активов
Попытка открыть pdf файл Android
https://gist.github.com/alhazmy13/c93c5e083ec0b7fe6d1c
Многие из них по-прежнему используют более не поддерживаемые
out = openFileOutput(file.getName(), Context.MODE_WORLD_READABLE);
который я устал заменять на
out = new BufferedOutputStream(new FileOutputStream(file));
или
out = openFileOutput(file.getName(), MODE_PRIVATE);
но ни один из них, похоже, не добился цели. Я постоянно получаю всплывающее сообщение: «Невозможно отобразить PDF (правильное имя файла.pdf не может быть открыто)».
Я также включил их в манифесте
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" /> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
Есть ли способ открыть файл напрямую из AssetManager, не копируя файл в новое место? Есть ли другой способ использовать FileProvider для открытия этого файла?
Любой новый взгляд на этот вопрос был бы оценен, чувствуя себя полностью сбитым с толку.