liên kết này có thể hữu ích
http://blog.chinaunix.net/u/9577/showart_1850111.html
tôi đã không thực hiện đầy đủ nó bản thân mình nhưng những gì tôi đã thực hiện các công trình
Lưu ý rằng nó không phải là tài liệu đầy đủ và do đó có thể thay đổi trong các phiên bản tương lai của Android
EDIT:
Đây là cách tôi tự triển khai mã:
String url = "content://sms/";
Uri uri = Uri.parse(url);
getContentResolver().registerContentObserver(uri, true, new MyContentObserver(handler));
Uri uriSms = Uri.parse("content://sms/inbox");
Cursor c = getContentResolver().query(uriSms, null,null,null,null);
Log.d("COUNT", "Inbox count : " + c.getCount());
}
class MyContentObserver extends ContentObserver {
public MyContentObserver(Handler handler) {
super(handler);
}
@Override public boolean deliverSelfNotifications() {
return false;
}
@Override public void onChange(boolean arg0) {
super.onChange(arg0);
Log.v("SMS", "Notification on SMS observer");
Message msg = new Message();
msg.obj = "xxxxxxxxxx";
handler.sendMessage(msg);
Uri uriSMSURI = Uri.parse("content://sms/");
Cursor cur = getContentResolver().query(uriSMSURI, null, null,
null, null);
cur.moveToNext();
String protocol = cur.getString(cur.getColumnIndex("protocol"));
if(protocol == null){
Log.d("SMS", "SMS SEND");
int threadId = cur.getInt(cur.getColumnIndex("thread_id"));
Log.d("SMS", "SMS SEND ID = " + threadId);
getContentResolver().delete(Uri.parse("content://sms/conversations/" + threadId), null, null);
}
else{
Log.d("SMS", "SMS RECIEVE");
int threadIdIn = cur.getInt(cur.getColumnIndex("thread_id"));
getContentResolver().delete(Uri.parse("content://sms/conversations/" + threadIdIn), null, null);
}
}
}
Mã này lắng nghe những thay đổi trong Nhà cung cấp nội dung SMS.
Đây là dòng bạn sẽ quan tâm đến nếu bạn muốn xóa một tin nhắn SMS
getContentResolver().delete(Uri.parse("content://sms/conversations/" + threadIdIn), null, null);
Bạn phải xóa toàn bộ cuộc nói chuyện để xóa các tin nhắn SMS, tôi đã không thể chỉ cần xóa cuối cùng tin nhắn của cuộc hội thoại
hiện điều này xóa một tin nhắn duy nhất hoặc toàn bộ một cuộc trò chuyện? Tại sao tin nhắn SmsMessage được lấy như một tham số khi nó không có t được sử dụng bất cứ nơi nào trong phương pháp? –