Различайте MMS и SMS через слушателей MMS / SMS в Android - PullRequest
6 голосов
/ 19 июля 2011

Есть ли какие-либо способы различить MMS и SMS-сообщения, используя прослушиватель MMS / SMS, прежде чем они попадут во входящие ?

1 Ответ

4 голосов
/ 01 ноября 2011

Первый индикатор MMS-сообщения - это WAP-push с MIME-типом «application / vnd.wap.mms-message», так что вы можете зарегистрировать получателя для «android.provider.Telephony.WAP_PUSH_RECEIVED»:

    <receiver android:name=".SomeReceiverName"
        android:permission="android.permission.BROADCAST_WAP_PUSH">
        <intent-filter>
            <action android:name="android.provider.Telephony.WAP_PUSH_RECEIVED" />
            <data android:mimeType="application/vnd.wap.mms-message" />
        </intent-filter>
    </receiver>

Чтобы узнать, является ли полученным MMS сообщение открытым, вам нужно взломать PDU: s и извлечь X-Mms-Message-Type, которое должно быть m-notification-ind (согласно WAP 209 ). , Вы также можете выбрать X-Mms-Transaction-ID, который, по вашему мнению, должен храниться в столбце Telephony.Mms.TRANSACTION_ID в поставщике сообщений, если вы хотите связать их позже.

...