Android – Obtenir le contexte d’un récepteur de diffusion onReceive () à envoyer à

Je veux essentiellement faire une intention et la passer à un service à partir de onReceive () de BroadcastReceiver.

Jusqu’à présent, j’ai toujours utilisé View.getContext (), mais ici, je suis coincé. Comment puis-je obtenir le contexte pour pouvoir utiliser public Intent (Context packageContext, Class cls) ?

public abstract void onReceive (Context context, Intent intent)

onReceive vous donne le contexte. Que veux-tu de plus?

Eh bien, la réponse mentionnée ci-dessus n’est d’aucune utilité. Vous pouvez utiliser le contexte aussi longtemps que vous êtes dans onReceive. une fois que vous avez renvoyé de onReceive, le contexte n’existe plus.

Ainsi, votre énoncé de problème indique que vous souhaitez démarrer le service en utilisant ce contexte dans la création de votre intention, puis en appelant startService avec cet object de contexte. Cela ne peut pas être fait.

Lisez ce qui peut et ne peut pas être fait dans le contexte BroadcastReceiver.

http://developer.android.com/reference/android/content/BroadcastReceiver.html

Dans le BroadcastReceiver le

 onReceive(Context context, Intent intent) 

méthode fournit un contexte

alors

pour commencer à utiliser l’activité

 context.startActivity(intent); 

et pour commencer l’utilisation du service

 context.startService(intent);