activityManager.getRunningServices(Integer.MAX_VALUE);
此方法返回一个列表,其中包含手动停止的服务。
设置>应用程序>运行服务
答案 0 :(得分:2)
使用onDestroy或onSometing事件或Binders或静态变量的所有方法都无法可靠地运行,因为作为开发人员,您永远不知道,当Android决定杀死您的进程或者调用了哪些提及的回调时。请注意" killable" Android文档中生命周期事件表中的列。
//使用此代码检查您的服务是否正在运行
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;
}