我正在研究Android应用程序,我正在尝试从设备SMS收件箱中获取消息列表。在收件箱中,我从一个联系号码收到2条消息,从另一个联系号码收到1条消息。但是,我似乎只是从每个联系人而不是所有联系人那里得到消息。
以下是我正在使用的代码
public void retrieveSMSMessages()
{
String address = "";
String body = "";
Uri inboxUri = Uri.parse("content://sms/inbox");
String[] reqCols = new String[] {"_id", "address", "body"};
ContentResolver contentResolver = context.getContentResolver();
Cursor cursor = contentResolver.query(inboxUri, reqCols, null, null, null);
cursor.moveToFirst();
while (cursor.moveToNext())
{
address = cursor.getString(cursor.getColumnIndex("address"));
body = cursor.getString(cursor.getColumnIndex("body"));
}
}
感谢您提供的任何帮助
答案 0 :(得分:0)
去掉调用cursor.moveToFirst(); 。 将光标移动到第一个位置,然后调用moveToNext()。你正在跳过第一个位置。