Android: comprueba si mi servicio se está ejecutando en segundo plano

Estoy funcionando un servicio para conseguir notificaciones cada 1 hora en mi uso.

El servicio sin duda funciona cada 1 h; Lo comprobé usando el Logcat.

Pero puesto que estoy comenzando este servicio en onResume() de mi MainActivity, quiero comprobar si el servicio está funcionando ya, e iniciarlo solamente si no está funcionando.

He utilizado este código:

 private boolean isMyServiceRunning() { ActivityManager manager = (ActivityManager) getSystemService(Context.ACTIVITY_SERVICE); for (RunningServiceInfo service : manager.getRunningServices(Integer.MAX_VALUE)) { if ("com.android.MyApp.MyServices.NotificationsService".equals(service.service.getClassName())) { return true; } } return false; } 

Pero siempre me pongo falso .

Así que he comprobado lo que sale service.service.getClassName() . Y mi servicio no está en la lista.

¿Es porque mi aplicación es desconocida? ¿o algo mas?

Sé que es un poco tarde, pero esta respuesta podría ayudar a otros que están buscando lo mismo.

¿Ha iniciado su servicio mediante context.startService() ?
Asegúrese de que el archivo de manifiesto contiene lo siguiente:

 <service android:name="com.android.MyApp.MyServices.NotificationsService" /> 
 private boolean isMyServiceRunning(Context mContext) { ActivityManager manager = (ActivityManager) mContext .getSystemService(Context.ACTIVITY_SERVICE); for (RunningServiceInfo service : manager .getRunningServices(Integer.MAX_VALUE)) { if (**HERE_YOUR_SERVICE'S_CLASS_NAME**.class.getName().equals( service.service.getClassName())) { return true; } } return false; } 

// Tengo el servicio del GPS del fondo y he comprobado con éxito que mi servicio del GPS está funcionando o no.

// Codificación feliz …

  • ¿Es posible tener varias cerraduras de la estela?
  • Servicio de Android que se reinicia cuando se cancela la aplicación
  • ¿Cómo mantener una conexión TCP establecida indefinidamente?
  • Servicio y un BroadCastReceiver
  • Android - el servicio se detiene cuando se destruye la actividad
  • ¿Cómo enlazar un servicio?
  • Utilizar una intención para enviar datos a mi actividad
  • Cliente de servicio WSDL / SOAP de Android
  • ¿Cómo detener el servicio de otra actividad en Android?
  • Buenas prácticas para la comunicación asíncrona entre servicios
  • La notificación sigue en la barra después de matar al servicio
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.