我使用了这段代码
String msgData = "";
Cursor cursor = getContentResolver().query(Uri.parse("content://sms/inbox"), null, null, null, null);
cursor.moveToFirst();
do{
for(int idx=0;idx<cursor.getColumnCount();idx++)
{
msgData += " " + cursor.getColumnName(idx) + ":" + cursor.getString(idx);
}
}while(cursor.moveToNext());
..它有效,但它返回的数据比我想要的多。
如何读取3个最后一个短信(仅限msg和发送者)?
答案 0 :(得分:9)
只需按日期对结果进行排序,然后使用限制条款:
getContentResolver().query(SMS_INBOX, new String[] {body, address},
null, null, "date desc limit 3");