2010-11-26 38 views
4

J'ai actuellement écrit une application qui observe le contenu: // sms URI pour tout changement dans la base de données. Mon observateur est déclenché avec succès lorsque des messages individuels sont ajoutés ou supprimés, cependant, aucune notification n'est déclenchée lorsqu'un thread entier est supprimé en même temps. Y a-t-il un moyen de déclencher cet événement? Ou peut-être y a-t-il un autre fournisseur de contenu que je devrais observer?Android: Observer SMS pour les threads supprimés

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

Et ma classe d'observateur:

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

Mise à jour: J'ai essayé de trouver des façons de contourner ce problème, comme redéterminer les ID dont j'ai besoin lorsque de nouveaux messages arrivent, mais rien ne s'est avéré réussi. Mon observateur doit être signalé lorsqu'un thread est supprimé. Est-ce que quelqu'un sait quel est le problème? Ou y a-t-il une autre façon d'écouter les discussions supprimées? – mattprecious

+0

Mon application peut-elle savoir quel SMS est supprimé? je veux dire son contenu. Parce que j'ai besoin de stocker ce message supprimé? Merci .... –

+0

Pas que je sache. L'observation de la base de données ne vous alertera qu'après la suppression du message, vous ne pourrez donc pas interroger ses informations. – mattprecious

Répondre

4

je suis passé à observer le contenu: // mms-sms/conversations fournisseur de contenu. Ce fournisseur signale correctement à mon observateur quand un fil est supprimé.