Мне нужен Intent для одновременной отправки файла в такие приложения, как мессенджеры (WhatsApp и т. Д.) И клиенты электронной почты (Gmail и т. Д.).Gmail, однако, по какой-то причине, которую я не понимаю, показывает URI файла в поле получателя.
Мой оригинальный URI: [имя_пакета] .debug.generic.tools.GenericFileProvider / external_files / 1544617983061.pdf
Получатель получится как: // [имя_пакета] .debug.generic.tools.GenericFileProvider / external_files / 1544617983061.pdf
Снимок экранаиз Gmail:
![enter image description here](https://i.stack.imgur.com/bF2uA.png)
Код с ошибкой:
Uri uri = FileProvider.getUriForFile(fragment.getActivity(), fragment.getActivity().getApplicationContext().getPackageName() + ".generic.tools.GenericFileProvider", externalFile);
Intent intentSend = new Intent(Intent.ACTION_SEND);
intentSend.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION);
intentSend.setDataAndType(uri, "application/pdf");
intentSend.putExtra(Intent.EXTRA_STREAM, uri);
intentSend.putExtra(Intent.EXTRA_SUBJECT, name);
intentSend.putExtra(Intent.EXTRA_EMAIL, new String[]{"test@provider.com"});
try {
fragment.startActivity(Intent.createChooser(intentSend, fragment.getString(R.string.external_file_send_chooser)));
} catch (android.content.ActivityNotFoundException ex) {
Toast.makeText(fragment.getActivity(), R.string.external_file_send_no_activity, Toast.LENGTH_LONG).show();
}
Кто-нибудь понимаетчто здесь происходит?Почему мои данные URI интерпретируются как получатель?
Сам файл правильно прикреплен к электронной почте, и WhatsApp также успешно отправляет файл.
РЕДАКТИРОВАТЬ: Здесь уже был дан ответ на вопрос: URI контента, переданный в EXTRA_STREAM, отображается в поле «Кому:»