Чтение pdf, сохраненное во внутренней памяти (путь к файлу не действителен)

Я хочу открыть PDF, хранящийся в мобильной внутренней памяти … Я пытаюсь передать путь файла к Uri .. но он продолжает показывать мне эту ошибку «Путь к файлу не является допустимым», но я уверен, что Я делаю правильный путь.

targetFile=new File("/data/data/package Name/app_mydir/test.pdf"); } Intent intent; intent = new Intent(Intent.ACTION_VIEW); intent.setDataAndType(Uri.fromFile(targetFile), "application/pdf"); startActivity(intent); 

Файлы во внутреннем хранилище вашего приложения по умолчанию являются приватными для вашего приложения. Это означает, что приложение PDF-Reader не может читать этот файл (поскольку он не работает с вашими приложениями pid – разрешение на чтение не указано) .

Вы должны сохранить этот PDF с явным разрешением на чтение для других приложений, используя флаг Context.MODE_WORLD_READABLE . См. Документацию по хранению данных, как это сделать.

Также используйте Context.openFileOutput() и Context.openFileInput() для чтения и записи файлов во внутреннем каталоге (как указано в документах выше) . Не используйте такие жесткие коды, они могут измениться.

Проверьте вывод

targetFile.exists ();

Если это вернет true, тогда вам будет хорошо идти, иначе что-то не так с вашим путем.