2012-05-22 33 views
5

Tengo un broadcastReceiver registrado en el manifiesto que recibe notificaciones del AlarmManager. Todo esto funciona muy bien mientras la aplicación se está ejecutando, es decir. se está llamando al método onReceive().BroadcastReceiver cuando la aplicación no se está ejecutando

Sin embargo, si fuerzo la detención de la aplicación para que pueda probar si el receptor de emisión aún recibirá notificaciones del AlarmManager mientras no se está ejecutando, nunca se llama al método onReceive().

¿No se puede forzar detener para probar el receptor AlarmManager & de esta manera? Parece haber algunas respuestas que dicen que no funcionará, y algunos dicen que debería funcionar.

Si no, ¿hay alguna manera de probar esto?

Gracias.

+0

¿Ha definido su 'BroadcastReceiver' en el manifiesto? –

+0

@jFort: ¿Está utilizando uno de los tipos 'WAKEUP' para la alarma? Si no, esa podría ser la causa, pero no estoy seguro. – Squonk

+0

Sí, el receptor de difusión se define en el manifiesto. Y el administrador de alarma está definido AlarmManager.RTC – jFort

Respuesta

3

Si su receptor está registrado en su manifiesto, siempre debería funcionar. Incluso si tu aplicación está cerrada a la fuerza.

El problema podría ser la alarma. Es posible que las alarmas se borren una vez que la fuerza de la aplicación se cierre.

+0

Gracias por eso. Si sé ** que ** debería funcionar, continuaré con la solución de problemas. ¿Hay alguna manera de averiguar qué está pasando con estas alarmas? – jFort

+0

Un accidente significa que sucede algo inesperado. Entonces, probablemente debería reinicializar las alarmas cuando el programa se recupere. No sé exactamente qué sucede con las alarmas. Lo siento –

+1

Para Android> versión 3.0, ¡su receptor dejará de funcionar cuando se cierre por la fuerza su aplicación! –

1

Según los comentarios sobre this answer, no puede probar este tipo de cosas matando la aplicación usted mismo. Debes lanzar una excepción para que la aplicación muera "naturalmente".

Cuestiones relacionadas