Android 任务完成后如何停止服务?

Android 任务完成后如何停止服务?,android,service,android-asynctask,Android,Service,Android Asynctask,我有一个服务,它请求另一个类,它启动一个异步任务 服务->天气类->执行方法->异步任务->执行 这是在服务中启动的 new Weather(this).execute(); // the execute is a method of the class, not of the AsyncTask 如何在服务中检测AsyncTask已完成,以便我可以调用stopSelf?您可以在这种情况下使用。我们应用程序中当前采用的方法是针对android.app.Service注册一个广播接收器,该服务设

我有一个服务,它请求另一个类,它启动一个异步任务

服务->天气类->执行方法->异步任务->执行

这是在服务中启动的

new Weather(this).execute(); // the execute is a method of the class, not of the AsyncTask

如何在服务中检测AsyncTask已完成,以便我可以调用stopSelf?

您可以在这种情况下使用。

我们应用程序中当前采用的方法是针对
android.app.Service
注册一个
广播接收器,该服务设置为侦听从生成的应用程序触发的广播事件底层
异步任务#onPostExecute
。这在我们的场景中是有利的,因为我们的服务产生了三个异步任务,我们希望在所有三个异步任务都完成后停止父服务,也就是说,我们的服务级别
BroadcastReceiver


在回答这个问题很久之后,我偶然发现这个问题,我想在这里加上这个,但希望它能帮助其他人…

太好了。从@Doc如果服务没有运行,什么都不会发生。我没有一个完整的答案,因此只是一个评论。您不能在服务中使用IBinder并在AsyncTask的onPostExecute()中发送消息。我的服务不是使用IBinder的东西。