В моем приложении для Android я отправляю электронные письма с прикрепленными изображениями.
Используя систему Intent для отправки, я могу сделать одну из следующих двух вещей:
1) Укажите тип как «message / rfc822», чтобы в Chooser отображались ТОЛЬКО почтовые приложения.
Неудобство. Я не могу указать тип mime для изображения, которое я прикрепляю, используя EXTRA_STREAM и Uri. Многие принимающие почтовые приложения (Gmail, Android и т. Д.) Показывают это как неизвестный двоичный файл «blob», прикрепленный к сообщению, не знают, как его предварительно просмотреть, и не знают, как открыть его как вложение.
2) Укажите тип как (скажем) "image / png". Изображение прикреплено, и почтовые клиенты, такие как Gmail, могут предварительно просмотреть его и открыть вложение в соответствующем приложении.
Неудобство: для отправляющего пользователя я не могу сократить список приложений, из которых пользователь должен выбирать в Chooser, чтобы отправлять приложения по электронной почте, и МНОГИЕ приложения отображаются на моем устройстве Android, большинство из которых не являются приложениями электронной почты, а не какими Я хочу.
Можно ли в любом случае указать свой адрес электронной почты "message / rfc822" И указать тип MIME данных, прикрепленных через Uri в Intent.EXTRA_STREAM?
Кстати: я предоставляю файл из моего собственного ContentProvider, и метод getType () (используемый для определения типа MIME файла) НЕ вызывается. Метод query (), но не запрашивает тип файла, только отображаемое имя и размер файла.
спасибо