如何从Android的收件箱中读取最后3个短信?

use*_*542 4 sms android inbox

我用过这段代码

    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());    
Run Code Online (Sandbox Code Playgroud)

..它可以工作,但它返回的数据比我想要的多.

如何阅读3个最后一个短信(只有msg和发送者)?

Sam*_*Sam 9

只需按日期对结果进行排序并使用限制子句:

getContentResolver().query(SMS_INBOX, new String[] {body, address}, 
    null, null, "date desc limit 3");
Run Code Online (Sandbox Code Playgroud)