我想提取所有 MMS 消息并告知每一条消息是由用户还是收件人发送的?
在SMS中,可以使用Telephony.Sms.TYPE列来完成(来自收件人的消息将是
Telephony.Sms.MESSAGE_TYPE_INBOX
,用户是其他一切),但是如何在Telephony.Mms中做到这一点?我也一直在尝试使用
DATE_SENT
,但不太可靠。
我就是这样做的:
context.contentResolver.query(
Telephony.Mms.CONTENT_URI, arrayOf(
"_id",
"thread_id",
"date",
"m_type",
"read",
), null, null, null
)
和
override val viewType: MessageType = when (type) {
128 -> MessageType.OUTGOING
else -> MessageType.INCOMING
}
我不确定这是最好的解决方案,但它确实有效。恕我直言,文档有点令人困惑......
相当于短信
(Telephony.Sms.TYPE)
在 MMS 中是
(Telephony.Mms.MESSAGE_BOX)
,这里是文档:https://developer.android.com/reference/android/provider/Telephony.Mms
哪里
Telephony.Mms.MESSAGE_BOX_INBOX
是收到的,其他的都是你寄的。