android – ActivityManager#getRunningServices返回手动停止的服务

activityManager.getRunningServices(Integer.MAX_VALUE);

此方法返回一个列表,其中包含手动停止的服务.

设置>应用程序>运行服务

最佳答案 使用onDestroy或onSometing事件或Binders或静态变量的所有方法都无法可靠地工作,因为作为开发人员,您永远不知道,当Android决定杀死您的进程或者调用了哪些提到的回调时.请注意Android文档中生命周期事件表中的“killable”列.

//使用此代码检查您的服务是否正在运行

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