J'ai un widget qui est censé appeler une activité de l'application principale lorsque l'utilisateur clique sur le corps du widget. Ma configuration fonctionne pour une seule instance de widget, mais pour une seconde instance du même widget, PendingIntent est réutilisé et, par conséquent, les informations vitales que j'envoie en plus sont écrasées pour la première instance. Donc je me suis dit que je devais passer ID de widget comme Intent
données mais dès que j'ajouterais Intent#setData
je verrais dans le journal que 2 intentions distinctes sont correctement déclenchées mais l'activité ne parvient pas à le ramasser donc essentiellement l'activité ne viendra pas et rien ne se passe (pas d'erreur ou de l'éther avertissement) Voici comment l'activité est configuré dans le Manifest:Android: Ajout de données à l'intention de charger l'activité
<activity android:name=".SearchResultsView"
android:label="@string/search_results"
<intent-filter>
<action android:name="bostone.android.search.RESULTS" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</activity>
et le code est ici qui est configuré pour la manipulation du clic
Intent di = new Intent("bostone.android.search.RESULTS");
di.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
// if line below is commented out - the Activity will start
di.setData(ContentUris.withAppendedId(Uri.EMPTY, widgetId));
di.putExtra("URL", url);
views.setOnClickPendingIntent(R.id.widgetContent,
PendingIntent.getActivity(this, 0, di, 0));
l'application principale et le widget sont emballés comme 2 APK séparés chacun dans son propre paquet et Manifeste
Oh! Mais bien sûr - idiot moi! Merci @mbaird - ça fonctionne parfaitement maintenant – Bostone