Каковы возможные типы намерений для намерения .setType(type)?

Я искал, как отправить электронное письмо из своего приложения, и я наткнулся на эту тему:

как отправить электронное письмо из моего приложения для Android

он решает проблему с добавлением типа к его действию send:

i.setType("message/rfc822");

Это тоже работает для меня, я могу отправить свою электронную почту, и это здорово. Мне просто интересно, что еще я могу там установить.

Я знаю, что если я ничего не установлю, он отобразит список со всеми доступными параметрами. Я хочу заставить пользователя поделиться им, используя любой вариант, который я выбираю. Могу ли я исследовать это, чтобы заставить пользователя делиться каким бы то ни было способом?

Ответ 1

Я думаю, что вы не должны вызывать какое-либо поведение при трансляции намерения поделиться.

i.setType("message/rfc822"); 

Это задает тип MIME вашего намерения. Я думаю, в лучшем случае вам нужно будет узнать, какой тип MIME - это приложение, которое вы собираетесь использовать для обмена вашими ответами (например, Facebook), и убедитесь, что это приложение является единственным приложением, которое ответит на ваши намерения.

Ответ 2

Это может быть так поздно, но в качестве новичка это моя попытка вашего вышеупомянутого вопроса:) надеюсь, что это поможет вам, myIntent.setType(String mimeType) input param представляет данные типа MIME, которые вы хотите получить взамен от намерения стрельбы ( здесь myIntent). Используя один из следующих типов MIME, вы можете заставить пользователя выбрать вариант, который вы желаете.
Пожалуйста, обратите внимание на здесь, все типы MIME в android находятся в нижнем регистре.

Вот список общего типа MIME, который вы можете установить в setType():

image/jpeg
audio/mpeg4-generic
text/html
audio/mpeg
audio/aac
audio/wav
audio/ogg
audio/midi
audio/x-ms-wma
video/mp4
video/x-msvideo
video/x-ms-wmv
image/png
image/jpeg
image/gif
.xml ->text/xml
.txt -> text/plain
.cfg -> text/plain
.csv -> text/plain
.conf -> text/plain
.rc -> text/plain
.htm -> text/html
.html -> text/html
.pdf -> application/pdf
.apk -> application/vnd.android.package-archive

Ответ 3

Согласно документации API Android, параметр для setType представляет собой строку, представляющую тип MIME. Пожалуйста, посмотрите http://developer.android.com/reference/android/content/Intent.html#setType(java.lang.String)

Затем это предполагает, что любой тип MIME можно использовать для установки типа контента для намерений share. Вы можете найти полный список на сайте iana.org, где перечислены полный список типов MIME: http://www.iana.org/assignments/media-types/media-types.xhtml

Надеюсь, это поможет.

Ответ 4

Возможно, вам захочется проверить эту ссылку: http://developer.android.com/reference/android/content/Intent.html#setType(java.lang.String)

В основном, что он делает, он позволяет вам установить тип данных, которые вы используете для отправки в намерении.

Вы также можете проверить существующий вопрос: Android - аргументы Intent.setType()