AsyncTask完成后如何停止服务?

时间:2010-06-26 16:05:40

标签: android service android-asynctask

我有一个服务,它请求另一个类,它启动一个AsyncTask

服务 - >天气类 - >执行方法 - > Asynctask->执行

这是由

在服务中启动的
new Weather(this).execute(); // the execute is a method of the class, not of the AsyncTask

如何在Service中检测到AsyncTask已完成,因此我可以调用stopSelf?

2 个答案:

答案 0 :(得分:3)

在这种情况下,您可以使用stopService(intent)

答案 1 :(得分:0)

我们的应用程序当前采用的方法是针对BroadcastReceiver注册单个android.app.ServiceAsyncTask#onPostExecute设置为侦听从生成的基础BroadcastReceiver触发的广播事件。这在我们的场景中是有利的,因为我们的服务产生了三个AsyncTasks,并且当所有三个AsyncTasks都已完成时我们想要停止父服务,即我们对服务级别{{1}}有三次点击。

以为我在这个问题很久之后偶然发现这个问题后我会在这里添加这个问题,但希望它可以帮助其他人......