moshimore Knowledge

アプリ開発とメモ書き、日々の日記。

Androidサービスが起動しているか調べる方法

f:id:moshimore:20170715041846j:plain
getRunningServicesから起動しているサービスの一覧を取得します。
取得した一覧から調べたいサービスのクラス名が存在するかチェックします。

// isActiveService(CheckService.class.getName())
public boolean isActiveService(String serviceClassName)
{
    ActivityManager activityManager = (ActivityManager) this.context.getSystemService(ACTIVITY_SERVICE);
    List<ActivityManager.RunningServiceInfo> runningServicesInfo = activityManager.getRunningServices(Integer.MAX_VALUE);

    for (ActivityManager.RunningServiceInfo runningServiceInfo : runningServicesInfo)
    {
        if (runningServiceInfo.service.getClassName().equals(serviceClassName))
        {
            return true;
        }
    }

    return false;
}