Android MMS,SMS之常用Uri

Android MMS,SMS之常用Uri

轉載原文: http://labs.ywlx.net/?p=899


這是從網路上找到的一份資料,挺實用的,記錄並轉載於此。

Android提供了很多查询系统数据的Uri,这里是一些关于MMS,SMS常用的Uri以及对其的一些分析
Uri:
content://sms
sql语句:
SELECT * FROM sms WHERE ({where}) ORDER BY date DESC
可用列:
_id:thread_id:address:person:date:protocol:read:status:type:reply_path_present:
subject:body:service_center:locked:error_code:seen:

Uri:
content://mms
sql语句:
SELECT * FROM pdu WHERE ({where}) ORDER BY date DESC
可用列:
_id:thread_id:date:msg_box:read:m_id:sub:sub_cs:ct_t:ct_l:exp:m_cls:m_type:
v:m_size:pri:rr:rpt_a:resp_st:st:tr_id:retr_st:retr_txt:retr_txt_cs:read_status:ct_cls:
resp_txt:d_tm:d_rpt:locked:seen:

Uri:
content://mms/threads (selection须为null)
sql语句:
SELECT * FROM pdu group by thread_id
可用列:
_id:thread_id:date:msg_box:read:m_id:sub:sub_cs:ct_t:ct_l:exp:m_cls:m_type:
v:m_size:pri:rr:rpt_a:resp_st:st:tr_id:retr_st:retr_txt:retr_txt_cs:read_status:ct_cls:
resp_txt:d_tm:d_rpt:locked:seen:

Uri:
content://mms/{id}/part (id为pdu表_id,part表mid,pending_msgs表msg_id)
sql语句:
SELECT * FROM part WHERE (mid={id}) AND ({where}) ORDER BY seq
可用列:
_id:mid:seq:ct:name:chset:cd:fn:cid:cl:ctt_s:ctt_t:_data:text:

Uri:
content://mms/part/{id} (id为part表的_id)
sql语句:
SELECT * FROM part WHERE (_id={id}) AND ({where}) ORDER BY seq
可用列:
_id:mid:seq:ct:name:chset:cd:fn:cid:cl:ctt_s:ctt_t:_data:text:

Uri:
content://mms/{id}/addr (id为pdu表_id,part表mid,pending_msgs表msg_id)
sql语句:
SELECT * FROM addr WHERE (msg_id={id}) AND ({where})
可用列:
_id:msg_id:contact_id:address:type:charset:

Uri:
content://mms-sms/complete-conversations (projection必须指定可用列,否则该列返回null)
sql语句:
SELECT {projection} FROM (SELECT DISTINCT date * 1 AS normalized_date, {projection} FROM sms WHERE ({where}) AND (type != 3)) UNION SELECT DISTINCT date * 1000 AS normalized_date, {projection} FROM pdu LEFT JOIN pending_msgs ON pdu._id = pending_msgs.msg_id WHERE ({where}) AND msg_box != 3 AND (msg_box != 3 AND (m_type = 128 OR m_type = 132 OR m_type = 130))) ORDER BY normalized_date ASC)
可用列:
一切sms,pdu,pending_msgs中的列均可用,不存在则返回null

Uri:
content://mms-sms/conversations (同上)
sql语句:
SELECT {projection} FROM (SELECT thread_id AS tid, date * 1000 AS normalized_date, NULL AS body, NULL AS person, sub, NULL AS subject, retr_st, NULL AS type, date, ct_cls, sub_cs, _id, read, ct_l, tr_id, st, msg_box, thread_id, NULL AS reply_path_present, m_cls, read_status, ct_t, NULL AS status, retr_txt_cs, d_rpt, NULL AS error_code, m_id, m_type, v, exp, pri, NULL AS service_center, NULL AS address, rr, rpt_a, resp_txt, locked, resp_st, m_size FROM pdu WHERE ({where}) AND (msg_box != 3 AND (m_type = 128 OR m_type = 132 OR m_type = 130))) GROUP BY thread_id HAVING date = MAX(date) UNION SELECT thread_id AS tid, date * 1 AS normalized_date, body, person, NULL AS sub, subject, NULL AS retr_st, type, date, NULL AS ct_cls, NULL AS sub_cs, _id, read, NULL AS ct_l, NULL AS tr_id, NULL AS st, NULL AS msg_box, thread_id, reply_path_present, NULL AS m_cls, NULL AS read_status, NULL AS ct_t, status, NULL AS retr_txt_cs, NULL AS d_rpt, error_code, NULL AS m_id, NULL AS m_type, NULL AS v, NULL AS exp, NULL AS pri, service_center, address, NULL AS rr, NULL AS rpt_a, NULL AS resp_txt, locked, NULL AS resp_st, NULL AS m_size FROM sms WHERE ({where}) AND (type != 3)) GROUP BY thread_id HAVING date = MAX(date)) GROUP BY tid HAVING normalized_date = MAX(normalized_date)
可用列:
同上

content://mms-sms/conversations/{threadID} (threadID为sms表的thread_id,pdu表的_id,pending_msgs表的msg_id,part表的mid)
sql语句:
SELECT {projection} FROM (SELECT DISTINCT date * 1 AS normalized_date, {projection} FROM sms WHERE ({where}) AND thread_id = {thread_id} AND (type != 3)) UNION SELECT DISTINCT date * 1000 AS normalized_date, pdu._id, NULL AS body FROM pdu LEFT JOIN pending_msgs ON pdu._id = pending_msgs.msg_id WHERE ({where}) AND thread_id = {thread_id} AND msg_box != 3 AND (msg_box != 3 AND (m_type = 128 OR m_type = 132 OR m_type = 130))) ORDER BY normalized_date ASC)
同上

以下是Android提供的关于MMS,SMS的各种Uri
content://sms

content://sms/#

content://sms/inbox

content://sms/inbox/#

content://sms/sent

content://sms/sent/#

content://sms/draft

content://sms/draft/#

content://sms/outbox

content://sms/outbox/#

content://sms/undelivered

content://sms/failed

content://sms/failed/#

content://sms/queued

content://sms/conversations

content://sms/conversations/*

content://sms/raw

content://sms/attachments

content://sms/attachments/#

content://sms/threadID

content://sms/threadID/*

content://sms/status/#

content://sms/sr_pending

content://sms/icc

content://sms/icc/#

content://sms/sim

content://sms/sim/#

content://mms

content://mms/#

content://mms/inbox

content://mms/inbox/#

content://mms/sent

content://mms/sent/#

content://mms/drafts

content://mms/drafts/#

content://mms/outbox

content://mms/outbox/#

content://mms/part

content://mms/#/part

content://mms/part/#

content://mms/#/addr

content://mms/rate

content://mms/report-status/#

content://mms/report-request/#

content://mms/drm

content://mms/drm/#

content://mms/threads

content://mms/scrapSpace

content://mms-sms/conversations

content://mms-sms/complete-conversations

// In these patterns, “#” is the thread ID.

content://mms-sms/conversations/#

content://mms-sms/conversations/#/recipients

content://mms-sms/conversations/#/subject

// URI for deleting obsolete threads.

content://mms-sms/conversations/obsolete”, URI_OBSOLETE_THREADS);

content://mms-sms/messages/byphone/*

// In this pattern, two query parameter names are expected:

// “subject” and “recipient.” Multiple “recipient” parameters

// may be present.

content://mms-sms/threadID

// Use this pattern to query the canonical address by given ID.

content://mms-sms/canonical-address/#

// Use this pattern to query all canonical addresses.

content://mms-sms/canonical-addresses

content://mms-sms/search

// In this pattern, two query parameters may be supplied:

// “protocol” and “message.” For example:

// content://mms-sms/pending?

// -> Return all pending messages;

// content://mms-sms/pending?protocol=sms

// -> Only return pending SMs;

// content://mms-sms/pending?protocol=mms&message=1

// -> Return the the pending MM which ID equals ’1′.

//

content://mms-sms/pending

// Use this pattern to get a list of undelivered messages.

content://mms-sms/undelivered

// Use this pattern to see what delivery status reports (for

// both MMS and SMS) have not been delivered to the user.

content://mms-sms/notifications

content://mms-sms/draft

content://mms-sms/locked

content://mms-sms/locked/#



  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值