通过Android中的MMS / SMS监听器区分MMS和SMS

时间:2011-07-19 01:35:27

标签: android sms mms

有没有办法在点击收件箱之前使用彩信/短信收听者来区分彩信和短信?

1 个答案:

答案 0 :(得分:4)

MMS消息的第一个指示是带有MIME类型“application / vnd.wap.mms-message”的WAP推送,因此您可以为“android.provider.Telephony.WAP_PUSH_RECEIVED”注册接收器:< / p>

    <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>

要发现是否收到彩信,您必须打开PDU并提取X-Mms-Message-Typem-notification-ind应该是Telephony.Mms.TRANSACTION_ID(根据WAP 209 )。您还可以选择X-Mms-Transaction-ID,如果您想稍后将其链接起来,则认为应将其存储在消息提供商的{{1}}列中。