2013-12-01 4 views
1

Я не могу прикрепить файл excel из папки с данными, используя намерение электронной почты в android. Кто-нибудь может предложить, что не так в приведенном ниже коде. Откроется электронное письмо, но появляется сообщение «невозможно прикрепить файл».не удалось подключить файл excel из папки с ресурсами

  File xlsFile = new File("assets/test.xlsx"); 
    Uri path = Uri.fromFile(xlsFile); 
     Intent intent1 = new Intent(Intent.ACTION_SEND); 
     intent1.setType("application/excel"); 
     intent1.putExtra(Intent.EXTRA_SUBJECT, "Excel File for test"); 
     intent1.putExtra(Intent.EXTRA_TEXT,""); 
     intent1.putExtra(Intent.EXTRA_STREAM, path); 
     startActivity(Intent.createChooser(intent1, "Send email...")); 

ответ

2

Во-первых, assets/test.xlsx не является файлообменом на устройстве Android. Это актив, упакованный в ваш APK. Следовательно, new File("assets/test.xlsx").

Во-вторых, даже если на этом пути есть файл, сторонние приложения электронной почты не могут его прочитать.

Либо:

  • Скопируйте файл на внешнее устройство хранения, а затем создать Uri для этого и использовать его в Intent или

  • Скопируйте файл во внутреннюю память и use FileProvider to serve it или

  • Использовать my StreamProvider для обслуживания его прямо из активов

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