Demande d'aide

  • Réponses :1
santatra RAMAMONJILAZA
  • Posts de Forum 4

11 sept. 2012 à 09:21:05 via site

J'aimerais savoir savoir la différence entre ce 2 codes:
Code 1:
Intent broadcast = new Intent("andro.jf.broadcast");
broadcast.putExtra("extra", "test");
sendBroadcast(broadcast);

Code 2:
Intent broadcast = new Intent("andro.jf.nom_du_message");
broadcast.putExtra("extra", "test");
startActivity(broadcast);

Répondre
julien
  • Posts de Forum 8

18 juin 2013 à 22:56:49 via site

Salut

startActivity(Intent intent);

cette méthode te permet de lancer une activité "Activity" à partir d'un Intent. L'intent te permet de cibler l'activité qui sera lancer.
Cette méthode ne permet pas de savoir lorsque l'autre activité sera terminée. (voir startActivityForResult pour cela).

sendBroadcast(Intent intent);

Cette méthode quand à elle, permet d'envoyer un "message" à tous les "écouteurs d’événements". J'utilise le terme "écouteur d'événements" pour définir un BrodcastReceiver.

En clair, l'écouteur d'événement est une classe qui étend de BroadcastReceiver, elle permet d'écouter les événements de certains type. Le type d'événement que va détecter l'écouteur est défini dans le manifest Android.

On à pour habitude de donner l'exemple de l'écouteur d'événement "<action android:name="android.provider.telephony.SMS_RECEIVED"/>" qui permet d'écouter lorsqu'un sms est reçus.

Utiliser sendBroadcast te permet donc de créer un événement manuellement.

tu peux lire

developer.android.com/reference/android/content/Context.html#sendBroadcast(android.content.Intent)

et

developer.android.com/reference/android/content/Context.html#startActivity(android.content.Intent, android.os.Bundle)

Voilà !

— Modifié le 18 juin 2013 à 22:58:40

Répondre