Question

Je me suis inscrit mon application d'envoyer une émission à un moment donné en utilisant le gestionnaire d'alarme, et ont mis un récepteur pour écouter cette émission.

Maintenant, il peut y avoir 2 cas:

  1. Le système d'exploitation se sent il y a une crise de mémoire et supprime l'application de l'arrière-plan. La documentation Android dit que le système d'exploitation veillera à ce que mon récepteur reçoit mon émission. Est-ce vrai ? Comment puis-je tester ce cas?
  2. Un utilisateur décide de fermer mon application avec tout tueur de tâches. Vais-je recevoir les émissions dans ce cas aussi? Dans le cas contraire est alors il un moyen de gérer ce cas?
Était-ce utile?

La solution

  

Le système d'exploitation se sent il y a une crise de mémoire et supprime l'application de l'arrière-plan.

Votre récepteur ne sera pas en mémoire de toute façon. Votre récepteur pour une utilisation avec AlarmManager doit être enregistré dans le manifeste, et les récepteurs vivent aussi longtemps que nécessaire pour onReceive() de fonctionner.

  

Est-il vrai?

Oui.

  

Comment puis-je tester ce cas?

Chaque test testera ce cas, si votre récepteur est inscrit dans le manifeste.

  

Un utilisateur décide de fermer mon application avec tout tueur de tâches. Vais-je recevoir les émissions dans ce cas aussi?

Sur Android 2.1 et antérieures, non. tueurs de tâches, il élimine également les alarmes programmées.

  

Dans le cas contraire est alors il un moyen de gérer ce cas?

Pas vraiment, ce qui est la raison pour laquelle cela a été éliminé avec Android 2.2.

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