Quando un servizio è stato ucciso, come riavviarlo automaticamente?Come riavviare automaticamente un servizio ucciso?
a volte senza nemmeno chiamare onDestroy()
Quando un servizio è stato ucciso, come riavviarlo automaticamente?Come riavviare automaticamente un servizio ucciso?
a volte senza nemmeno chiamare onDestroy()
Se avete il servizio ha ucciso, il sistema tenterà di ripartire in un secondo momento. Leggi more.
Ignora il onStartCommand()
e fornisce START_STICKY
o START_REDELIVER_INTENT
(dipende dalle esigenze) come valore di ritorno. Il sistema provvederà quindi a riavviare il servizio finché non interromperai esplicitamente il servizio.
http://developer.android.com/reference/android/app/Service.html#START_REDELIVER_INTENT
http://developer.android.com/reference/android/app/Service.html#START_STICKY
Sto facendo START_STICKY. funziona bene in nexus 5 e riavvio del servizio. Ma nel servizio xiaomi viene ucciso non appena la mia applicazione sta uccidendo. – Abhi
ho ereditato un IntentService, così ho dovuto essere gentile. Ha funzionato per me quando ho calpestato onStartCommand(), ma
public int onStartCommand(Intent intent, int flags, int startId) {
super.onStartCommand(intent, flags, startId);
return START_STICKY;
}
Cioè, lascio il genitore fa quello che dovrebbe e tornare START_STICKY.
Sto facendo lo stesso. funziona bene in Nexus 5. Ma nel servizio xiaomi viene ucciso non appena la mia applicazione sta uccidendo. – Abhi
In casi brutti, è possibile avviare una sveglia intenzionata ad assicurarsi che il servizio sia attivo. Fai attenzione a non usarlo troppo spesso, poiché il risveglio della CPU costa la durata della batteria. Hai un'app che fa resuscitare lo swipe per chiudere? – Meymann
Se il servizio è stato ucciso, è perché l'utente l'ha ucciso o il sistema operativo aveva poca memoria. Ciò significa che probabilmente non dovresti riavviarlo. Non dovresti lasciare servizi di lunga durata come quello – Falmarri
grazie per la risposta, ma ci sono alcuni servizi, quando li ho uccisi, si riavvieranno presto. – SEed