Android Экспорт данных в CSV - PullRequest
1 голос
/ 06 мая 2020

Привет, народ! Я разрабатываю приложение, и мне нужна возможность экспортировать данные приложения в формате CSV. Я использую следующий код для того же

FileOutputStream out = openFileOutput("test_data.csv", Context.MODE_PRIVATE);
out.write(data.toString().getBytes());
out.close();

//Exporting file
Context context = getApplicationContext();
File filelocation = new File( getFilesDir(),"test_data.csv");

Uri path = FileProvider.getUriForFile(context,"com.j4ss.bpmonitor.FileProvider", filelocation);
Intent fileIntent = new Intent(Intent.ACTION_SEND);
fileIntent.setType("text/csv");
fileIntent.putExtra(Intent.EXTRA_SUBJECT, "Test Data");
fileIntent.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION);
fileIntent.putExtra(Intent.EXTRA_STREAM,path);
startActivity(Intent.createChooser(fileIntent, "Send Data"));

`Теперь, когда я выполняю и нажимаю параметр экспорта, эмулятор дает мне два варианта: Google Диск и Gmail. Google Диск работает нормально, и я могу экспортировать данные в формате CSV на Google диск. Проблема с GMAIL. когда я нажимаю на опцию Gmail, он открывает Gmail с правильным и даже показывает файл CSV как вложение. Однако, когда я отправляю письмо, оно отправляется успешно, но вложение не go.

Я читал, что это потому, что GMAIL не может прочитать файл из внутреннего хранилища. Чтобы проверить это, я попытался создать файл во внешнем хранилище эмулятора, и приложение GMAIL работало нормально. Мне нужна возможность использовать функцию прикрепления GMAIL, даже если на мобильном телефоне нет внешнего хранилища. Есть идеи, как этого добиться? Спасибо.

...