2

Je suis confus entre les deux fonctions.PendingIntent.getBroadcast(). Send() vs Context.sendBroadcast()

PendingIntent.getBroadcast(...args...).send(); 

et

Context.sendBroadcast(...args); 

Est-ce que les deux fonctions font la même chose? Plus important encore, lequel utiliser quand?

déjà lu cette déclaration:

récupérer un PendingIntent qui effectuera une émission, comme appeler Context.sendBroadcast().

Source: https://developer.android.com/reference/android/app/PendingIntent.html#getBroadcast(android.content.Context,int,android.content.Intent,int)

La documentation est toujours compliquée. Quelque chose que je puisse interpréter mal?

Merci à l'avance :)

Répondre

1

Si vous voulez envoyer une émission Intent, il suffit d'appeler Context.sendBroadcast().

Si vous souhaitez programmer une alarme ou créer une notification, que, lorsqu'il est déclenché, envoie une émission Intent, utilisez PendingIntent.getBroadcast() et passer le PendingIntent comme argument à un appel à la AlarmManager ou le mettre dans un Notification.

PendingIntent est utilisé lorsque vous souhaitez que quelque chose se produise plus tard et que vous souhaitiez lancer une autre application.

+0

Est-ce la même chose pour l'intention de widget implémentée en tant que pendingIntent? –

+0

Oui. Parce que l'interface utilisateur du "widget" est gérée par l'écran HOME. Ainsi, lorsque l'utilisateur clique sur un widget, l'écran ACCUEIL obtient le clic et doit faire quelque chose. S'il a besoin de démarrer une «activité» ou un «service», alors il utilise le «PendingIntent» que votre application a fourni pour le faire. Ceci est un autre exemple de délégation de votre application à une autre application en lui transmettant un «PendingIntent» qu'elle peut envoyer, essentiellement en tant que stand-in pour votre application. –