Question

Ok donc j'ai deux BroadcastReceiver enregistré. Lorsque l'application est fermé ils à la fois le feu au moment opportun et faire les choses appropriées.

Si l'application est fermée puis tué (dire avec un AppKiller), les récepteurs ne reçoivent jamais leurs émissions, et rien ne se passe.

On peut supposer que la même chose se produit si l'application mère est tué à cause de la faible mémoire, alors comment puis-je assurer que ces émissions sont tirées / reçues. Les états de l'API que même si l'application est tué en cas d'incendie, que quelqu'un d'autre ont l'expérience de cette situation?

Si cela aide mon manifeste est:

<!-- receivers for AlarmManager --> 
<receiver 
android:exported="true" 
android:label="Shift roster updating calendar." 
android:name="com.skooter.shiftroster.backend.service.UpdateCalendar" 
> 
</receiver> 
<receiver 
android:exported="true" 
android:label="Shift roster checking alarm." 
android:name="com.skooter.shiftroster.backend.service.SetWakeup" 
> 
</receiver> 

et ésotérique rien ne se passe dans le AlarmManager / BroadcastReceivers

Était-ce utile?

La solution

  

On peut supposer que la même chose se produit si   l'application mère est tuée en raison du faible   mémoire

Vous présument à tort. Les soi-disant « tueurs de travail » exploitent une API particulière, qui ne soit pas utilisé dans des conditions de faible mémoire. L'API "task killer" armes nucléaires tout, y compris les alarmes programmées.

En outre, votre application parent ne devrait plus être en mémoire en premier lieu. Le point entier de l'utilisation AlarmManager est donc votre « application parent » ne prend pas autour de la mémoire quand il ne fait rien.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top