我测试过这种方法:
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;
}
当我在没有startService()的活动中调用bindService()时,我的服务正在运行(使用prevoious方法检查它)但我认为只有startService()可以启动服务!
所以我只想知道服务何时真正开始:使用startService()或binService()
只是评论,只有当我调用unBindService()时,前一个方法才返回false。
感谢。
答案 0 :(得分:2)
getRunningServices()
返回正在运行的服务。如果服务由startService()
启动或通过bindService()
绑定,则服务将正在运行。