public String getSmsAndSendBack()
{
String[] projection = new String[] { "address", "person", "body" };
StringBuilder str = new StringBuilder();
try {
ContentResolver cr = getContentResolver();
Cursor myCursor = cr.query(Uri.parse("content://sms/inbox"),
projection,
"address = ?", new String[] { "+86"+number},
"date desc");
str.append(processResults(myCursor, true));
} catch (SQLiteException ex) {
// Log.d(LOG_TAG, ex.getMessage());
}
return str.toString();
}
/**
*
* 处理短信结果
*
* @param cur
*
* @param all
* 用来判断是读一条还是全部读。后来没有用all,可以无视
*/
private StringBuilder processResults(Cursor cur, boolean all) {
StringBuilder str = new StringBuilder();
if (cur.moveToFirst()) {
String name;
String phoneNumber;
String sms = null;
int nameColumn = cur.getColumnIndex("person");
int phoneColumn = cur.getColumnIndex("address");
int smsColumn = cur.getColumnIndex("body");
// do {
name = cur.getString(nameColumn);
phoneNumber = cur.getString(phoneColumn);
if (phoneNumber.equals("+86"+number)) {
sms = cur.getString(smsColumn);
str.append(sms);
}
if (null == sms)
sms = "";
// } while (cur.moveToNext());
} else {
str.append("no result!");
}
return str;
}
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。