Domanda

Ok, quindi ho due BroadcastReceiver registrati. Quando l'applicazione è chiusa entrambi il fuoco al momento opportuno e fare le cose appropriate.

Se l'applicazione è chiusa poi ucciso (dire con un AppKiller), i ricevitori non ricevono mai le loro trasmissioni, e non succede nulla.

Probabilmente la stessa cosa accade se l'applicazione genitore viene ucciso a causa della scarsa memoria, in modo come faccio assicuro queste trasmissioni vengono sparati / ricevuta. Gli stati API che, anche se l'applicazione viene ucciso si deve sparare, Qualcun altro ha esperienza con questa situazione?

Se aiuta la mia palese è:

<!-- 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> 

e nulla di esoterico sta succedendo nel AlarmManager / BroadcastReceivers

È stato utile?

Soluzione

  

Probabilmente la stessa cosa accade se   l'applicazione genitore viene ucciso a causa della bassa   memoria

Si presume erroneamente. I cosiddetti "killer attività" stanno sfruttando una particolare API, che non viene utilizzato in condizioni di memoria insufficiente. La "Task Killer" API armi nucleari di tutto, compresi gli allarmi programmati.

Inoltre, la vostra applicazione genitore spera non è in memoria, in primo luogo. Il punto di usare AlarmManager è così il vostro "app genitore" non è in giro prendendo la memoria quando non sta facendo nulla.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top