//获取短信信息,以json格式返回,这里是方便与远程python通信
public static String getsms()
{
String contents = "[";
ContentResolver cr = s_ctx.getContentResolver();
String[] projection = new String[]{"_id", "address", "person","body", "date", "type" };//"_id", "address", "person",, "date", "type
Cursor cur = cr.query(SMS_INBOX, projection, null, null, "date desc");
if (null == cur)
return contents;
String[] attributes = {"address","person","person","body",
"type","date","protocol","read","status","service_center"
};
while (cur.moveToNext())
{
if (contents=="[")
{
contents = contents+"{";//开始时
}else
{
contents = contents+",{";
}
//遍历一条短信
int nAtlen =attributes.length;
for (int i=0;i<nAtlen;i++)
{
String key =attributes[i];
int nIndex = cur.getColumnIndex(key);
//没有相关属性
if (nIndex <=0)
continue;
String content = cur.getString(nIndex);
contents = contents+String.format("\"%s\":\"%s\",",key,content);
}
//去掉最后一个","
contents= contents.substring(0,contents.length()-1);
contents = contents+"}";
/*
String number = cur.getString(cur.getColumnIndex("address"));//手机号
String name = cur.getString(cur.getColumnIndex("person"));//联系人姓名列表
String body = cur.getString(cur.getColumnIndex("body"));//短信内容
String type = cur.getString(cur.getColumnIndex("type")); //短信类型,1接收到的,2发送的
String date = cur.getString(cur.getColumnIndex("date")); //短信类型,1接收到的,2发送的
String protocol = cur.getString(cur.getColumnIndex("protocol")); //短信类型,1接收到的,2发送的
String read = cur.getString(cur.getColumnIndex("read")); //短信类型,1接收到的,2发送的
String status = cur.getString(cur.getColumnIndex("status")); //短信类型,1接收到的,2发送的
String service_center = cur.getString(cur.getColumnIndex("service_center")); //短信类型,1接收到的,2发送的
*/
}
contents = contents+"]";
return contents;
}