可以从Android服务onStartCommand()中调用stopSelf()吗?

时间:2017-05-02 08:09:59

标签: android android-asynctask android-service

我有一个服务,当被调用时,检查一些状态值,并根据状态,可能需要异步调用一些东西(locationmanager + asynctask),或者只保存一个值并退出。

我创建了一个服务而不是一个intentservice,因为我提到我有时需要创建异步任务。

我已经阅读了服务,我知道我应该在完成后调用stopSelf。但是在我不需要做任何事情的情况下,当我从onStartCommand退出时,我就完成了。

那么,如果我在那时完成了,只需在onStartCommand的最后一行调用stopSelf吗?这种方法有问题吗?

感谢输入。

1 个答案:

答案 0 :(得分:1)

如果您只是执行if检查服务,为什么在启动服务之前不会执行该检查,从而避免消耗宝贵的资源?

要回答您的问题 - 是的,stopSelf()会导致停止Service,但如果服务未被使用,请考虑不启动它。