我有一个服务,它在START_STICKY
上返回#onStartCommand()
,并且正在我的MainActivity's
#onCreate()
方法中启动。当我关闭我的应用程序时,Service
被销毁,并且它再次启动。但是,当它自身启动时,ActivityManager
找不到它。因此,我的服务有2个实例正在运行。
我使用此代码检查服务是否失效,即使它在服务启动后仍然存在,也每次都会返回true。
public static boolean isServiceDead(Context context) {
final ActivityManager am = (ActivityManager) context.getSystemService(ACTIVITY_SERVICE);
for (ActivityManager.RunningServiceInfo runningServiceInfo : am.getRunningServices(Integer.MAX_VALUE))
if (runningServiceInfo.service.getClassName().equals(LockerService.class.getName()))
return false;
return true;
}