Cómo reiniciar el servicio en android para llamar al servicio de nuevo

Tengo un servicio en mi aplicación de Android que se ejecuta siempre. Ahora tengo una configuración de mi servidor a través de GCM y actualizar estos ajustes a mi servicio. Puse mis ajustes en el servicio del ofcreate. Así que necesito reiniciar mi servicio para obtener la configuración más reciente. ¿Cómo reiniciar mi servicio?

Llame a estos dos métodos inmediatamente después de cada uno de ellos, lo que hará que el Service deje de iniciar. No conozco ningún método que lo "reinicie". Así es como lo he implementado en mi aplicación.

 stopService(new Intent(this, YourService.class)); startService(new Intent(this, YourService.class)); 

La mejor solución es usar onDestroy ().

Cuando necesite reiniciar el servicio simplemente llame

 RESTARTSERVICE = true; stopService(new Intent(this, CLASS_OF_SERVICE.class)); 

y

 public void onDestroy() { if (RESTARTSERVICE) { startService(new Intent(this, CLASS_OF_SERVICE.class)); } } 

¿Por qué no mover las cosas de configuración de onCreate a un método separado. A continuación, puede llamar a este método desde onCreate y también lo llamará cuando necesite cambiar la configuración. Entonces no sería necesario reiniciar el servicio.

Utilice un método onTaskRemoved (Intent rootIntent) dentro del servicio, por lo que el servicio se reinicia de nuevo

 @Override public void onTaskRemoved(Intent rootIntent) { System.out.println("service in onTaskRemoved"); long ct = System.currentTimeMillis(); //get current time Intent restartService = new Intent(getApplicationContext(), PushService.class); PendingIntent restartServicePI = PendingIntent.getService( getApplicationContext(), 0, restartService, 0); AlarmManager mgr = (AlarmManager) getApplicationContext().getSystemService(Context.ALARM_SERVICE); mgr.setRepeating(AlarmManager.RTC_WAKEUP, ct, 1 * 1000, restartServicePI); } 

Sólo llamar de nuevo startService() volverá a iniciar el servicio si ya está en ejecución, lo que significa que el servicio se reiniciará.

  • ¿Cómo manejar IPC entre un servicio y una actividad (y su subactividad)?
  • ¿Cómo utilizar PendingIntent para comunicarse desde un servicio a un cliente / actividad?
  • Cree sólo una instancia de Service (Android)
  • Empleos para GCM Network Manager
  • Vibrar en la notificación push
  • ¿Vincular el servicio a la actividad o fragmento?
  • Problemas con la vinculación al servicio en Android
  • Por favor, explique algunos conceptos de servicio de Android
  • Aplicación de Android Service
  • Detectando Android L Battery Saver
  • Diseño de arquitectura Android - ¿Cómo hacerlo bien?
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.