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

and*_*oob 6 sms android mms

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

Jen*_*ens 5

MMS 消息的第一个指示符是 MIME 类型“application/vnd.wap.mms-message”的 WAP 推送,因此您可以为“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>
Run Code Online (Sandbox Code Playgroud)

要确定它是否是收到的彩信,您必须打开 PDU:s 并提取X-Mms-Message-Type,这应该是m-notification-ind(根据WAP 209)。您还可以选择 X-Mms-Transaction-ID,Telephony.Mms.TRANSACTION_ID如果您想稍后将它们链接起来,您认为应该将其存储在消息提供程序的列中。