-1

我已经测试过这个方法:

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() 时,我的服务正在运行(使用以前的方法检查它)但我认为只有 startService() 才能启动服务!

所以我只想知道服务何时真正开始:使用 startService() 或 binService()

只是一个注释,只有当我调用 unBindService() 时,前面的方法才返回 false。

谢谢。

4

1 回答 1

2

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

于 2013-05-11T15:35:47.107 回答