Я пытаюсь отправить письмо с вложением по Gmail с кодом ниже:
Intent emailIntent = new Intent(Intent.ACTION_SENDTO, Uri.fromParts(
"mailto", "test@mail.com", null));
emailIntent.putExtra(Intent.EXTRA_SUBJECT, "test Mail");
File file = ..function that return file with logs...
File newFile = new File(getFilesDir() + File.separator + "logs" + File.separator + System.currentTimeMillis() + ".log");
FileTools.fileCopy(file, newFile);
Uri uri = FileProvider.getUriForFile(this,
"test.test.test.provider", newFile);
emailIntent.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION);
emailIntent.putExtra(Intent.EXTRA_STREAM, uri);
startActivityForResult(Intent.createChooser(emailIntent, "eMail"), 1);
также я добавил путь к журналам папок
<files-path name="logs" path="logs/" />
Он запускает приложение Gmail с тостом "не удалосьприкрепить файл".В отладочной URI переменная выглядит так:
content: //test.test.test.provider/logs/1545415598572.log
Когда я изменился
Uri uri = FileProvider.getUriForFile(this, "test.test.test.provider", newFile);
с
Uri uri = Uri.uri(newFile);
он работает, но только с файлами во внешнем хранилище.
Почему он не работает с FileProvider?