`

Android 短信数据库详细总结分析

 
阅读更多

Android 短信数据库详细总结分析
短信 sms
文件 /data/data/com.android.providers.telephony/databases/mmssms.db
这个数据库有13张表,sms表存了短信信息。

sms表的uri是
publicstaticfinalUriCONTENT_URI=Uri.parse("content://sms");
表项含义,我猜的
strColumnName=_id strColumnValue=48 //短消息序号
strColumnName=thread_id strColumnValue=16 //对话的序号(conversation)
strColumnName=address strColumnValue=+8613411884805 //发件人地址,手机号
strColumnName=person strColumnValue=null //发件人,返回一个数字就是联系人列表里的序号,陌生人为null
strColumnName=date strColumnValue=1256539465022 //日期 long型,想得到具体日期自己转换吧!
strColumnName=protocol strColumnValue=0 //协议
strColumnName=read strColumnValue=1 //是否阅读
strColumnName=status strColumnValue=-1 //状态
strColumnName=type strColumnValue=1 //类型 1是接收到的,2是发出的
strColumnName=reply_path_present strColumnValue=0 //
strColumnName=subject strColumnValue=null //主题
strColumnName=body strColumnValue=您好 //短消息内容
strColumnName=service_center strColumnValue=+8613800755500 //短信服务中心号码编号,可以得知该短信是从哪里发过来的

把源码补上。
在frameworks/base/core/java/android/provider/Telephony.java
/***ThethreadIDofthemessage*<P>Type:INTEGER</P>*/
publicstaticfinalStringTHREAD_ID="thread_id";
/***Theaddressoftheotherparty*<P>Type:TEXT</P>*/
publicstaticfinalStringADDRESS="address";
/***ThepersonIDofthesender*<P>Type:INTEGER(long)</P>*/
publicstaticfinalStringPERSON_ID="person";
/**
*Thedatethemessagewassent
*<P>Type:INTEGER(long)</P>*/
publicstaticfinalStringDATE="date";
/**
*Theprotocolidentifiercode
*<P>Type:INTEGER</P>*/
publicstaticfinalStringPROTOCOL="protocol";
/**
*Hasthemessagebeenread
*<P>Type:INTEGER(boolean)</P>*/
publicstaticfinalStringREAD="read";
/**
*TheTP-Statusvalueforthemessage,or-1ifnostatushas
*beenreceived*/
publicstaticfinalStringSTATUS="status";us举例:
publicstaticfinalintSTATUS_NONE=-1;
publicstaticfinalintSTATUS_COMPLETE=0;
publicstaticfinalintSTATUS_PENDING=64;
publicstaticfinalintSTATUS_FAILED=128;
/**
*Thetypeofthemessage
*<P>Type:INTEGER</P>*/
publicstaticfinalStringTYPE="type";举例
publicstaticfinalintMESSAGE_TYPE_ALL=0;
publicstaticfinalintMESSAGE_TYPE_INBOX=1;
publicstaticfinalintMESSAGE_TYPE_SENT=2;
publicstaticfinalintMESSAGE_TYPE_DRAFT=3;
publicstaticfinalintMESSAGE_TYPE_OUTBOX=4;
publicstaticfinalintMESSAGE_TYPE_FAILED=5;//forfailedoutgoingmessages
publicstaticfinalintMESSAGE_TYPE_QUEUED=6;//formessagestosendlater
/**
*Whetherthe<code>TP-Reply-Path</code>bitwassetonthismessage
*<P>Type:BOOLEAN</P>*/
publicstaticfinalStringREPLY_PATH_PRESENT="reply_path_present";
/**
*Thesubjectofthemessage,ifpresent
*<P>Type:TEXT</P>*/
publicstaticfinalStringSUBJECT="subject";
/**
*Thebodyofthemessage
*<P>Type:TEXT</P>*/
publicstaticfinalStringBODY="body";
/**
*Theservicecenter(SC)throughwhichtosendthemessage,ifpresent
*<P>Type:TEXT</P>*/
publicstaticfinalStringSERVICE_CENTER="service_center";
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics