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

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

sms表的uri是        
public static final Uri CONTENT_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 
/**    * The thread ID of the message    * <P>Type: INTEGER</P>    */    
public static final String THREAD_ID = "thread_id";       
/**    * The address of the other party    * <P>Type: TEXT</P>    */    
public static final String ADDRESS = "address";       
/**    * The person ID of the sender    * <P>Type: INTEGER (long)</P>    */    
public static final String PERSON_ID = "person";       
/**
   * The date the message was sent
    * <P>Type: INTEGER (long)</P>    */  
public static final String DATE = "date";       
/**
    * The protocol identifier code
    * <P>Type: INTEGER</P>    */    
public static final String PROTOCOL = "protocol";
       /**
    * Has the message been read
    * <P>Type: INTEGER (boolean)</P>    */    
public static final String READ = "read";          
/**
    * The TP-Status value for the message, or -1 if no status has
    * been received    */    
public static final String STATUS = "status";   us 举例:    
public static final int STATUS_NONE = -1;    
public static final int STATUS_COMPLETE = 0;    
public static final int STATUS_PENDING = 64;    
public static final int STATUS_FAILED = 128;     
/**
    * The type of the message
    * <P>Type: INTEGER</P>    */    
public static final String TYPE = "type";    举例    
public static final int MESSAGE_TYPE_ALL    = 0;    
public static final int MESSAGE_TYPE_INBOX  = 1;    
public static final int MESSAGE_TYPE_SENT   = 2;    
public static final int MESSAGE_TYPE_DRAFT  = 3;    
public static final int MESSAGE_TYPE_OUTBOX = 4;    
public static final int MESSAGE_TYPE_FAILED = 5; // for failed outgoing messages  
 
public static final int MESSAGE_TYPE_QUEUED = 6; // for messages to send later        
 /**
    * Whether the <code>TP-Reply-Path</code> bit was set on this message
    * <P>Type: BOOLEAN</P>    */    
public static final String REPLY_PATH_PRESENT = "reply_path_present";     
 /**
    * The subject of the message, if present
    * <P>Type: TEXT</P>    */    
public static final String SUBJECT = "subject";          
/**
    * The body of the message
    * <P>Type: TEXT</P>    */    
public static final String BODY = "body";        
 /**
    * The service center (SC) through which to send the message, if present
    * <P>Type: TEXT</P>    */    
public static final String SERVICE_CENTER = "service_center";  

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值