Внешнее приложение останавливается при использовании FileProvider для открытия файла из внутреннего хранилища

У меня есть несколько файлов в пользовательской папке во внутренней памяти. Мне нужно открыть файлы с помощью внешнего приложения, такого как Adobe. Я планировал открыть с помощью FileProvider. Но стороннее приложение останавливается при попытке открыть документ. Я действительно не знаю, какую ошибку я сделал в коде.

имя пакета = "com.example.doc"

действия находятся в пакете = "com.example.doc.activities"

манифест

<provider
     android:name="android.support.v4.content.FileProvider"
     android:authorities="com.example.doc.fileprovider"
     android:exported="false"
     android:grantUriPermissions="true" 
     android:readPermission="com.example.doc.fileprovider.READ">
     <meta-data
         android:name="android.support.FILE_PROVIDER_PATHS"
         android:resource="@xml/filepath" />
  </provider>

рез/xml/filepath.xml

<?xml version="1.0" encoding="utf-8"?>
<paths xmlns:android="http://schemas.android.com/apk/res/android">
    <files-path name="files" path="." />
</paths>

деятельность

//tempfilePath = /data/data/com.example.doc/files/RBC/sample.docx

File file = new File(tempfilePath);         
Uri exportUri = FileProvider.getUriForFile (this, "com.example.doc.fileprovider", file);

Intent docViewIntent = new Intent();
docViewIntent.setAction(Intent.ACTION_VIEW);
docViewIntent.setDataAndType(exportUri , extensionType);
docViewIntent.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION | Intent.FLAG_GRANT_WRITE_URI_PERMISSION);
docViewIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(docViewIntent);

Нужно ли нам указывать какое-либо разрешение в манифесте?

Любая помощь будет оценена.

Спасибо, Джомиа.


person Jomia    schedule 01.04.2015    source источник
comment
тип расширения — приложение/pdf?   -  person Signare    schedule 01.04.2015
comment
обратитесь к этому ответу stackoverflow.com/questions/19422075/   -  person Signare    schedule 01.04.2015
comment
extensionType = приложение/msword; и я думаю, что проблема связана только с ‹files-path name=files path= /›. потому что на самом деле мне нужно открыть этот файл: /data/data/com.example.doc/files/RBC/sample.docx. Но в exportUri.getPath() выдается только /files/RBC/sample.docx. Как указать правильный путь?   -  person Jomia    schedule 01.04.2015
comment
соединение с файлом aakunundo ? т.е. файл значений il kittunnundo   -  person Signare    schedule 01.04.2015
comment
правильный путь к внешнему файлу приложения ayitano kitunnathennu urappilla. как это проверить?   -  person Jomia    schedule 01.04.2015
comment
попробуйте отладить и проверить расположение файла. ваше устройство поддерживает файлы .docx?. попробуйте с файлами .doc или .pdf   -  person Signare    schedule 01.04.2015
comment
у тебя есть результаты?   -  person Signare    schedule 06.04.2015
comment
нет, это не работает .. поэтому я использовал какой-то хитрый способ. Я просто копирую файл из этой папки в корневую внутреннюю папку «файлы». И в режиме «WORLD_READABLE» я показываю файл   -  person Jomia    schedule 08.04.2015
comment
хитрый путь ааялум кужаппамилла.......результат киттиял мати :P   -  person Signare    schedule 08.04.2015