我正在使用此代码。
Object[] pduArray = (Object[]) intent.getExtras().get("pdus");
SmsMessage[] messages = new SmsMessage[pduArray.length];
StringBuilder messageText = new StringBuilder();
for (int i = 0; i < pduArray.length; i++) {
messages[i] = SmsMessage.createFromPdu((byte[])pduArray [i]);
messageText.append(messages[i].getMessageBody());
}
但是这个代码只是在设备收到短信的时候是亲密的,但是我需要检索所有在Android设备中保存的收件箱信息我该怎么办?
答案 0 :(得分:4)
试试这段代码:
Uri SMSURI = Uri.parse("content://sms/inbox");
String[] projection = new String[]{"_id", "address", "body", "date"};
Cursor cursor = null;
try {
cursor = getContentResolver().query(SMSURI
, projection
, null //selection
, null //selectionArgs
, null); //sortOrder
if (cursor != null && cursor.moveToFirst()) {
do {
int id = cursor.getInt(cursor.getColumnIndex("_id"));
String address = cursor.getString(cursor.getColumnIndex("address"));
String body = cursor.getString(cursor.getColumnIndex("body"));
String date = cursor.getString(cursor.getColumnIndex("date"));
Toast.makeText(getBaseContext(), "Message is >>"+body,
Toast.LENGTH_SHORT).show();
}
} while (cursor.moveToNext());
}
} finally {
if (cursor != null) {
cursor.close();
}
}