我的应用程序包含几个活动。(超过 10 个)。当应用程序在启动活动中启动时(有些人可能认为应用程序不应该有启动程序,但这不是这里的重点)我正在启动一项服务。
但是,由于存在许多活动,并且应用程序是用户驱动的应用程序,因此当用户决定离开应用程序甚至最小化应用程序时,他/她可能处于任何活动中。
我的问题是,我是否需要在每个活动的每个 onPause / onStop 中包含检查以检查我的服务是否正在运行,如果正在运行,请停止它?或者,有什么事情需要在一个地方完成?
要检查我的服务是否正在运行,我正在使用以下内容。
private boolean isMyServiceRunning()
{
ActivityManager manager = (ActivityManager) getSystemService(Context.ACTIVITY_SERVICE);
for (RunningServiceInfo service : manager
.getRunningServices(Integer.MAX_VALUE))
{
if (MyService.class.getName()
.equals(service.service.getClassName()))
{
return true;
}
}
return false;
}