2011-02-24 7 views
6

Estoy atascado desarrollando una aplicación porque necesito llamar a un método de mi actividad cuando se activa un BroadcastReceiver. Quiero que BroadcastReceiver detecte cuando una conexión de red se apaga y llame a un método de mi actividad que ya he escrito.Llamar a un método de actividad desde un BroadcastReceiver. ¿Es posible?

He estado buscando y encontré que más gente ya había preguntado esto antes, pero nadie recibió una respuesta sobre cómo hacerlo.

Creo que tal vez la API de Android no lo permite. Si es imposible llamar un método de mi actividad desde el BroadcastReceiver, ¿hay otras formas de hacerlo?

Gracias.

+0

¿Qué hace el método en su 'Activity'? –

+0

Comprueba si una variable de proceso (que pertenece a la actividad) no está establecida en nulo (el proceso se ha iniciado) y ejecuta un comando en un shell raíz que mata ese proceso. – Jimix

Respuesta

9

Pruebe algo como esto ..

En código que la actividad de escritura

BroadcastReceiver connectionReceiver = new BroadcastReceiver() { 
     @Override 
     public void onReceive(Context context, Intent intent) { 
      myActivityMethod();// Here you call method 
     } 
    }; 

    registerReceiver(connectionReceiver, new IntentFilter("com.test.NET_CONNECTION")); 

Y en su servicio de escritura

Intent intent = new Intent("com.test.NET_CONNECTION"); 
     sendBroadcast(intent); 

Si cualquier confusión que me haga saber Voy a tratar de resolver ..

+0

Aunque no uso un servicio (solo una actividad) utilicé el código en la actividad y omití el código para el servicio. Funcionó bien. ¡Muchas gracias por su ayuda! Este problema me estaba volviendo loco por un par de días. – Jimix

Cuestiones relacionadas