When a SMS send to me. In onReceive of the BroatcastReceiver, I call method readNewSMS():
private MySMS readNewSMS(String phoneNumber) {
MySMS sms = new MySMS();
Uri uri = Uri.parse("content://sms/inbox");
Cursor cursor = getSherlockActivity().managedQuery(uri, null,
null, null, null);
cursor.moveToFirst();
sms.setNumber(cursor.getString(
cursor.getColumnIndexOrThrow("address")).toString());
sms.setId(cursor.getString(
cursor.getColumnIndexOrThrow("_id")).toString());
sms.setThread_id(cursor.getString(cursor
.getColumnIndexOrThrow("thread_id")));
sms.setBody(cursor.getString(
cursor.getColumnIndexOrThrow("body")).toString());
sms.setTime(cursor.getString(
cursor.getColumnIndexOrThrow("date")).toString());
sms.setType(cursor.getString(
cursor.getColumnIndexOrThrow("type")).toString());
return sms;
}
But it return previous SMS of the new SMS, not new SMS. How to fix this error?