2010-11-26 4 views
4

のためのSMSを観察します。個々のメッセージが追加または削除されると、オブザーバが正常に起動されますが、スレッド全体が一度に削除されたときに通知がトリガされることはありません。このイベントを引き起こす方法はありますか?あるいは、私が観察しなければならない別のコンテンツプロバイダーがあるかもしれませんか?アンドロイド:データベースへの変更のために// SMS URI:私は現在、コンテンツを観察しているアプリを書いて削除されたスレッド

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); 

そして、私のオブザーバークラス:// MMS-SMS /会話コンテンツプロバイダを:

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

+0

私のアプリケーションは、削除されたSMSを知ることができますか?私はその内容を意味します。私はその削除されたメッセージを保存する必要があるので?ありがとうございました.... –

+0

私が知っているわけではありません。データベースを観察すると、メッセージが削除された後にのみ警告が表示されるので、その情報を問い合わせることはできません。 – mattprecious

答えて

4

私はコンテンツを観察に切り替えます。このプロバイダは、スレッドが削除されたときに、オブザーバに適切な信号を送ります。

関連する問題