2010-08-09 6 views
3

Disons que j'ai 3 activités actives qui peuvent afficher et ajouter des données à un fournisseur de contenu. Quelle est la meilleure façon de synchroniser l'état parmi les activités? Par exemple, si ActivityA ajoute un nouvel enregistrement au ContentProvider, j'aimerais que ActivityB et ActivityC reçoivent une notification afin qu'ils puissent mettre à jour leur vue.Android: comment recevoir un rappel du fournisseur de contenu lorsque les données sont modifiées?

Répondre

3

Utilisez la méthode ContentResolver.registerContentObserver() de chaque activité et fournissez les URI appropriées.

Vous pouvez passer la base de contenu URI pour le fournisseur, et passer true pour le paramètre notifyForDescendents, et votre rappel obtiendra frappé chaque fois qu'il ya un changement.

Le fournisseur de contenu auquel vous accédez doit supporter cela (la plupart le font). Si vous écrivez le vôtre, vous devez appeler le ContentResolver.notifyChange() avec l'URI des lignes modifiées.

Questions connexes