2010-05-05 5 views
0

J'utilise ContentObserver sur les contacts. Mais ici mon problème est au moins une fois que je dois lancer mon application autrement je suis incapable d'obtenir des chages de notification. Mon code comme ceciReg: Changements de contact dans Android

ContactsContentObserver cco = nouveau ContactsContentObserver (handler);

ContentResolver contentResolver = getContentResolver(); 

    contentResolver.registerContentObserver(RawContacts.CONTENT_URI, 
    true, cco); 

      } 

private class ContactsContentObserver extends ContentObserver 
{ 
public ContactsContentObserver(Handler h) 
{ 
     super(h); 
    } 

    public void onChange(boolean selfChange) 
    { 
     System.out.println("##########SOMEBODAY CHANGED ANYTHING AT THE CONTACTS"); 
     Toast.makeText(getApplication(),"####Updated####",Toast.LENGTH_LONG).show(); 


     } 

.... Adv merci.

Répondre

0

Si vous développez une application d'interface utilisateur avec Android, le code ou la fonctionnalité ne fonctionnera que lorsque vous lancerez votre application. La meilleure option pour développer le service ou le processus Beckgroud, qui fonctionnera en arrière-plan sur l'appareil. Et vous n'avez même pas besoin de le lancer. Vous avez un exemple en direct du clavier OnScreen d'Android. Il s'agit d'un type d'application qui attend une sorte d'événement ou quelque chose et basé sur cela, c'est pop. Essayez de développer le service et voir ce qui se passe ....

+0

Ya j'ai aussi la même idée. Mais y at-il un moyen de le faire sur le fichier manifeste Android. Un doute de plus est un moyen de vérifier quel contact est mis à jour dans Android. Mais je ne veux pas utiliser comme un service. –

0

Je suppose que vous voulez que le ContentObserver s'exécute automatiquement lorsque quelque chose change dans les contacts. Le problème est que quelque chose devra appeler le code qui enregistre cet écouteur. Ce que vous pourriez probablement faire est de créer un service qui démarre lorsque l'appareil a fini de démarrer, enregistre le ContentObserver puis quitte. Le service n'a pas besoin de s'exécuter en continu car le framework ContentProvider appelle automatiquement votre code. Regardez dans l'enregistrement pour recevoir l'intention BOOT_COMPLETED_ACTION selon this post.

+0

Ya j'ai aussi la même idée. Mais y at-il un moyen de le faire sur le fichier manifeste Android. Un doute de plus est un moyen de vérifier quel contact est mis à jour dans Android. –

+0

Le filtrage d'intention sera effectué dans le fichier manifeste lorsque vous enregistrez le service. Découvrez les documents android sur les filtres d'intention –

Questions connexes