2017-09-09 26 views
1

サービスをオン/オフできるトグルスイッチを作ろうとしています。トグルスイッチの初期状態を決定するためにサービスが実行されているかどうかを知る必要があります。サービスが実行されているかどうかを確認するためのきれいな方法

は、私は私のサービスを使用してクラス名を比較し、その後getRunningServices()で実行中のサービスを一覧表示し、できることを知っているが、getRunningServicesは()アンドロイドO(API 26)のよう推奨されていません。 android documantationgetRunningServices()"後方互換性"のために発信者独自のサービスを返すことを述べているにもかかわらず

廃止予定の機能または"後方互換性"に依存しない、よりきれいなソリューションを希望します。

答えて

0
private boolean isServiceRunning() { 
    ActivityManager manager = (ActivityManager) getSystemService(ACTIVITY_SERVICE); 
    for (RunningServiceInfo service : manager.getRunningServices(Integer.MAX_VALUE)){ 
     if("com.example.MyNeatoIntentService".equals(service.service.getClassName())) { 
      return true; 
     } 
    } 
     return false; 
} 

https://gist.github.com/kevinmcmahon/2988931

関連する問題