Cuando se ha cancelado un servicio, ¿cómo reiniciarlo automáticamente?¿Cómo reiniciar un servicio eliminado automáticamente?
veces sin ni siquiera llamar onDestroy()
Cuando se ha cancelado un servicio, ¿cómo reiniciarlo automáticamente?¿Cómo reiniciar un servicio eliminado automáticamente?
veces sin ni siquiera llamar onDestroy()
Si usted tiene su servicio mató, el sistema intentará reiniciar más tarde. Lee more.
Anula onStartCommand()
y proporcione START_STICKY
o START_REDELIVER_INTENT
(según sus necesidades) como valor de retorno. El sistema entonces se asegurará de reiniciar su servicio hasta que detenga explícitamente el servicio.
http://developer.android.com/reference/android/app/Service.html#START_REDELIVER_INTENT
http://developer.android.com/reference/android/app/Service.html#START_STICKY
Estoy haciendo START_STICKY. trabajando bien en Nexus 5 y reiniciando el servicio. Pero en el servicio de Xiaomi se está matando tan pronto como mi aplicación está matando. – Abhi
I heredado una IntentService, por lo que tuvo que ser suave. que trabajó para mí cuando me hizo caso omiso de onStartCommand() pero
public int onStartCommand(Intent intent, int flags, int startId) {
super.onStartCommand(intent, flags, startId);
return START_STICKY;
}
Es decir, dejar que el padre haga lo que debe y volver START_STICKY.
Estoy haciendo lo mismo. trabajando bien en Nexus 5. Pero en el servicio Xiaomi se está matando tan pronto como mi aplicación está matando. – Abhi
En los casos malos, puede iniciar un intento de alarma para asegurarse de que su servicio sea en vivo. Tenga cuidado con el uso con demasiada frecuencia, ya que despertar la CPU cuesta la vida de la batería. ¿Tiene una aplicación que rescata deslizar para descartar? – Meymann
Si se canceló su servicio, es porque el usuario lo mató o el sistema operativo tenía poca memoria. Eso significa que probablemente no deberías reiniciarlo. No debe dejar servicios de larga ejecución como ese – Falmarri
gracias por responder, pero hay algunos servicios, cuando los maté, se reiniciarán pronto. – SEed