2017-01-11 4 views
-2

В моем SystemBroadcastReceiver я хочу проверить, работает ли служба BG, или нет. Если она уже была запущена, я буду ждать ее завершения.Android Как проверить, работает ли моя служба, или нет

Я хочу, чтобы обе мои службы должны работать по-разному и на главном потоке только

+1

см. Это: http: //stackoverflow.com/questions/600207/how-to-check-if-a-service-is-running-on-android – rafsanahmad007

+6

Возможный дубликат [Как проверить, работает ли служба на Android ?](час TTP: //stackoverflow.com/questions/600207/how-to-check-if-a-service-is-running-on-android) – Spartan

ответ

0

Использование ниже метода проверки службы работает или нет:

public static boolean isMyServiceRunning(Class<?> serviceClass, Context ctx) { 
     final ActivityManager manager = (ActivityManager) ctx.getSystemService(Context.ACTIVITY_SERVICE); 
     for (ActivityManager.RunningServiceInfo service : manager.getRunningServices(Integer.MAX_VALUE)) { 
      if (serviceClass.getName().equals(service.service.getClassName())) { 
       return true; 
      } 
     } 
     return false; 
    } 
1
private boolean isMyServiceRunning(Class<?> serviceClass) { 
    ActivityManager manager = (ActivityManager) getSystemService(Context.ACTIVITY_SERVICE); 
    for (RunningServiceInfo service : manager.getRunningServices(Integer.MAX_VALUE)) { 
     if (serviceClass.class.getName().equals(service.service.getClassName())) { 
      return true; 
     } 
    } 
    return false; 
} 

Эта работа отлично подходит для моего приложения

Смежные вопросы