Posté le: Lun 30 novembre 2009 17:08 Sujet du message: Simple Problème Avec Extras Intent Bonjour,Problème simple Avec Extras Intent
Je travaille sur un widget application pour l'écran d'accueil. J'essaie de le faire quand un utilisateur appuie sur le widget, il modifie les données affichées dans le widget. Cependant, j'autorise également plusieurs instances de widgets ouvertes avec des données différentes. Donc, afin de dire à ma méthode quel widget mettre à jour, j'ajoute un extra à l'intention qui est lancée pour changer les données.
est ici l'intention je: Java:
Intent changeData = new Intent("com.tonycosentini.mintdroid.CHANGE_DATA");
changeData.putExtra("widget_id", currentWidgetId);
PendingIntent changeDataPendingIntent = PendingIntent.getBroadcast(this, 0, changeData, 0);
//This will return the correct value, but if I call it in my onreceive() method it won't.
Log.v(TAG, "stored id is: " + changeData.getIntExtra("widget", 0);
Ce stocke correctement l'ID widget, mais lorsque la méthode de changement de données est appelée, l'ID widget qui est lu à partir de l'intention est la première instance widget . C'est-à-dire qu'il existe une boucle for qui génère tous les widgets et quel que soit le widget que vous appuyez, l'identifiant du widget reçu est toujours le premier identifiant du widget dans le premier widget.
Quelqu'un a-t-il une idée pour résoudre ce problème? J'espère que je ne l'ai pas trop mal prononcé.
Merci pour la lecture, Tony
Ah, qui fait grâce sens pour la clarification! J'ai essayé d'utiliser la méthode setData() (avec juste un simple url http à google à des fins de test) pour définir l'ID du widget, mais maintenant la méthode onReceive() n'est jamais appelée. Je vais devoir continuer à bricoler, mais merci pour la réponse! – tonyc