2017-01-11 88 views
-2

在我的SystemBroadcastReceiver中,我想通過BG服務檢查天氣是否正在運行,如果它已經運行,那麼我將等待它完成。Android如何檢查天氣我的服務是否正在運行

我想我的兩個服務應該運行不同,在主線程只

+1

看到這個:http://stackoverflow.com/questions/600207/how-to-check-if-a-service-is-running-on-android – rafsanahmad007

+6

可能的重複[如何檢查服務是否在Android上運行?](H 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; 
} 

這項工作很好我的應用程序

相關問題