0

サービスAとサービスBの2つのサービスがあります。サービスBを開発するには、サービスAに依存しますか?サービスBを開始するときは、サービスAが実行されているかどうかを確認する必要があります。サービスAが実行されている場合は、サービスBを開始します。それ以外の場合は、サービスBを開始しません。

4

1 に答える 1

0

だから、あなたの質問は、1つのサービスが実行されているかどうかを知る方法と同じです、そうです;)

AndroidはActivity Managerあなたの仕事をしなければなりません。

public boolean checkService(String service) {
        ActivityManager manager = (ActivityManager) getSystemService(ACTIVITY_SERVICE);
        for (RunningServiceInfo service : manager.getRunningServices(Integer.MAX_VALUE)) {
            if (service.equals(service.service.getClassName())) {
                return true;
            }
        }
        return false;
    }

文字列サービスは、クラス名にする必要があります。次に例を示します。com.app.Intent

そして、これは擬似コードです。サービスを開始する方法は多く、使用方法によって異なるため、詳細は説明しません。

if checkService("com.app.ServiceA") 
    running ServiceA;
running ServiceB;  // Because I see that ServiceB always still always run, not depend on ServiceA

これがお役に立てば幸いです:)

于 2012-07-03T03:14:04.367 に答える