0
当短信发送给我。在BroatcastReceiver的的onReceive,我调用方法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;
}
但它返回的新短信的短信以前,没有新的短信。如何解决这个错误?
这事我知道。但我需要**它的ID **以便我可以从我的列表短信中删除它。 – Ken
在这种情况下,广播操作不是您要查找的内容。按照此问题中的描述尝试使用ContentObserver进行SMS:http://stackoverflow.com/questions/11281533/contentobserver-used-for-sms – Muzikant