当一个Android服务真的开始?

时间:2013-05-11 15:34:29

标签: android service

我测试过这种方法:

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。

感谢。

1 个答案:

答案 0 :(得分:2)

getRunningServices()返回正在运行的服务。如果服务由startService()启动或通过bindService()绑定,则服务将正在运行。