Тип Android MIME для сообщений MMS (SMS)? - PullRequest
3 голосов
/ 17 декабря 2010

Ответ на Как открыть программу электронной почты через Intents (но только программу электронной почты) показывает, как открыть программу выбора с ТОЛЬКО программами электронной почты, отображаемыми путем вызова intent.setType («message / rfc822»).

Я хотел бы сделать то же самое, но выбрать программы с поддержкой MMS (или даже просто SMS) вместо программ электронной почты.

Конечная цель - создать средство выбора «поделиться с», котороеотправляет различный контент в зависимости от формы, которую примет сообщение.(Поскольку электронное письмо может быть намного длиннее, чем текст или твит, и может содержать видео-вложение.)

Ответы [ 2 ]

2 голосов
/ 25 апреля 2011

Я считаю, что это MIME-тип для MMS-сообщений: "application / vnd.wap.mms-message" Это MIME-тип для SMS-сообщений: "vnd.android-dir / mms-sm"

Пример:

Файл Manifest.xml:

   <receiver android:name=".SMSReceiver"> 
        <intent-filter> 
            <action android:name="android.provider.Telephony.SMS_RECEIVED" />
            <data android:mimeType="vnd.android-dir/mms-sms" />             
        </intent-filter> 
    </receiver>
    <service android:name=".SMSReceiverService"/>
   <receiver android:name=".MMSReceiver"> 
        <intent-filter>
            <action android:name="android.provider.Telephony.WAP_PUSH_RECEIVED" />
            <data android:mimeType="application/vnd.wap.mms-message" />
        </intent-filter>
    </receiver>

Вот как я использовал типы MIME в своей разработке для Android.

1 голос
/ 08 мая 2013

Я нашел эту ссылку на блог jTribe .Кажется, есть работающий пример того, как этого добиться, но, честно говоря, я не могу найти никакой документации, подтверждающей, что это правильно.Он делает некоторые странные вещи, такие как установка действия ACTION_VIEW (вместо ACTION_SEND) и затем использует параметр String вместо статической переменной в классе Intent ... но вот код:

Intent sendIntent = new Intent(Intent.ACTION_VIEW);
sendIntent.putExtra("sms_body", "The SMS text"); 
sendIntent.setType("vnd.android-dir/mms-sms");
startActivity(sendIntent);  
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...