2015-01-15 5 views
3

В настоящее время я разрабатываю приложение, которое создает файл excel (с apache poi) из базы данных sqlite в android. Все работает хорошо, за исключением того, что я не могу отправить файл в другое приложение. я реализовал fileprovider, так что я и другие приложения могут иметь разрешение на мой файл:Загрузите файл excel в Dropbox или Google Drive?

AndroidManifest.xml:

<provider 
     android:name="android.support.v4.content.FileProvider" 
     android:authorities="com.example.ria.masterdetailnoten" 
     android:exported="false" 
     android:grantUriPermissions="true"> 

     <meta-data 
      android:name="android.support.FILE_PROVIDER_PATHS" 
      android:resource="@xml/file_paths"></meta-data> 
</provider> 

file_paths.xml:

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

ExcelFile.java:

Uri uriFile = FileProvider.getUriForFile(ct, "com.example.ria.masterdetailnoten", backupFile); 
Intent intent = new Intent(Intent.ACTION_SEND); 
intent.setDataAndType(uriFile, "application/vnd.ms-excel"); 
intent.setFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION); 
intent.createChooser(intent, "Choose"); 
ct.startActivity(intent); 

Я точно знаю, что мой файл создается, и я могу прочитать его снова wi й Apache POI. Таким образом, единственное, что не работает, - это отправить намерение другому приложению.


В качестве примера, если я выбираю Google Drive в умысел Chooser то следующее сообщение об ошибке появляется: «Ошибка при загрузке: запрос не содержит никаких данных.»

Если я открываю его со следующей ошибкой почтового ящика App появляется: «Почтовый ящик не может прочитать выбранный файл»

Я надеюсь, что вы можете помочь мне, ребята, я ценю вашу помощь!

ответ

1

Вы пытались использовать: putExtra(Intent.EXTRA_STREAM, uriFile) вместо: setData(AndType)?

 Смежные вопросы

  • Нет связанных вопросов^_^