2017-01-11 17 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; 
} 

自分のアプリケーション

のためのこの作品の罰金
関連する問題