Создал svg файл, нужно его отправить по почте, но я что-то делаю не так:
File file=new File(getFilesDir(), FILENAME);
Intent email = new Intent(Intent.ACTION_SEND);
if (file.exists()) {
email.putExtra(Intent.EXTRA_EMAIL, new String[]{etMail.getText().toString()});
email.putExtra(Intent.EXTRA_STREAM, Uri.parse("file://"+file));
email.putExtra(Intent.EXTRA_SUBJECT, "Subject");
email.putExtra(Intent.EXTRA_TEXT, "text");
email.setType("message/rfc822");
// email.setType("*/*");
startActivity(Intent.createChooser(email, "Выберите email клиент :"));}
Приложение падает по строке
email.putExtra(Intent.EXTRA_STREAM, Uri.parse("file://"+file));
с ошибкой:
android.os.FileUriExposedException: file:///data/user/0/ru.test/files/file.svg exposed beyond app through ClipData.Item.getUri()
Начиная с API 24 (по моему) запрещается использование в Intent
ссылок типа file://
, необходимо их маскировать специальным FileProvider
, который умеет превращать ссылки file://
в content://
Инструкции здесь
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Вы, наверное, посчитаете этот вопрос глупым, но все же
Есть VPS сервер на Debian 9На сервере крутится одно самописное Java приложение
ResultSet возвращает неверное время из DATETIMEПри извлечении значения времени количество часов увеличивается на 3, т
пытаюсь с помощью нативного запроса получить список данных из посгриса, но ругается на диалект, не догоню как сделать