Intereting Posts
Проверка аварийного сигнала PendingIntent всегда возвращает значение null, но установлен будильник Не удалось запустить приложение для Android из-за ошибки LogCollectManager.getUserType () Вложенное расширяемое listview в android Android: как определить, прокручивается ли представление Как добавить заголовок в макет навигационного ящика? Мой флажок не отображается в моем CheckedTextView Как поделиться всем Android-приложением с общим намерением Почему getView возвращает неверные объекты convertView в SeparatedListAdapter? Как захватить экран как можно быстрее через adb? Какова логика проектирования для фрагментов как статических внутренних классов и автономных публичных классов? Каков наилучший способ иметь диалоговые окна многократного использования? ActivityNotFoundException при отправке электронной почты из приложения Ресурсы.openRawResource () проблема Android Uncleared StateListDrawable поведение на Android Как импортировать / экспортировать файловый ресурс Android в Excel для локализации?

Чтение 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, тогда вам будет хорошо идти, иначе что-то не так с вашим путем.