2012-08-16 10 views
7

Quiero utilizar app = (MyApplication)getApplication(); en BroadcastReceivergetApplication en BroadcastReceiver en Android

estoy usando Thi enlace: http://www.devahead.com/blog/tag/application/

pero no getApplication salidas en BroadcastReceiver, ¿cómo puedo usarlo?

lo necesito becouse quiero compartir datos entre dos BroadcastReceiver

+0

No creo que sea posible, porque afaik 'BroadcastReceiver' no tiene contexto. Y solo puedes 'getApplication()' cuando tienes 'Context'. Tal vez intente escribir exactamente lo que está tratando de lograr, será más fácil encontrar otra solución –

+0

gracias. Pero estoy tratando de extraer datos de propiedad de un receptor a otro. Quiero que algún código en el receptor 1 no se ejecute si el receptor 2 no hizo algo ... – senzacionale

Respuesta

3

Su BroadcastReceiver tiene un método que se llama onReceive(Context ctx, Intent intent) recibir un mensaje ... que estás siendo entregado a mano un contexto.

+0

gracias. Estoy leyendo este http://stackoverflow.com/questions/5018545/getapplication-vs-getapplicationcontext que dice que no es necesario que obtenga la instancia de la aplicación. Entonces, ¿qué estoy tratando de hacer? Estoy tratando de extraer datos de propiedad de un receptor a otro. Quiero que algún código en el receptor 1 no se ejecute si el receptor 2 no hizo algo ... ¿es esta la forma correcta con la aplicación? – senzacionale

+1

Puede que no reciba un contexto de aplicación directamente, pero no le importa, ya que puede llamar a 'ctx.getApplicationContext()' para obtener uno. En cuanto a los detalles de lo que estás tratando de lograr, hay muchas maneras de resolverlo y el "correcto" depende de factores que están más allá del alcance de tu pregunta o incluso una pregunta apropiada para stackoverflow. Sin embargo, algunas posibilidades incluyen valores simples de SharedProperty, métodos de clase Singleton, un servicio local para establecer/obtener propiedades y múltiples receptores de difusión; no hay una respuesta correcta. – mah

+2

Pero 'getApplicationContext()' no es 'getApplication()'. ¿No es posible que '(Application) getApplicationContext()' falle? – Timmmm

Cuestiones relacionadas