2010-11-26 53 views
4

我目前编写了一个观察内容的应用程序:// sms URI,用于对数据库进行的任何更改。当添加或删除单个消息时,我的观察者被成功触发,但是,一次删除整个线程时不会触发通知。有什么办法让这个事件触发吗?或者,也许我应该观察另一个内容提供商?Android:观察已删除主题的SMS

Uri URI = Uri.parse("content://sms"); 
String[] columns = {"_id", "date"}; 
Cursor c = getContentResolver().query(URI, columns, "type=?", new String[]{"1"}, "_id DESC"); 

Observer observer = new Observer(); 
c.registerContentObserver(observer); 

我的观察器类:

private class Observer extends ContentObserver { 

    public Observer() { 
     super(null); 
    } 

    @Override 
    public void onChange(boolean selfChange) { 
     super.onChange(selfChange); 

     if (!selfChange) { 
      // do stuff 
      // never called when a thread is deleted 
     } 
    } 
} 
+0

更新: 我一直在想办法解决这个问题,比如重新确定新消息进来时需要的ID,但没有任何事情证明是成功的。当线程被删除时,我的观察者需要发出信号。有人知道问题是什么吗?或者有另一种方式可以侦听删除的线程吗? – mattprecious 2011-01-12 05:14:28

回答

4

我切换到观察内容://彩信,短信/通话内容提供商。当线程被删除时,此提供程序正确地向我的观察者发出信号