Android 在异步任务期间更改上下文

Android 在异步任务期间更改上下文,android,android-asynctask,android-service,android-context,Android,Android Asynctask,Android Service,Android Context,我有一个服务,它运行了很长一段时间并收集数据。最后,它启动一个异步任务,并完成。问题是在AsyncTask的onPostExecute()中,我想显示一个Toast,但我没有正确的上下文,因为当AsyncTask完成时,服务已经不存在了。那么,我如何向服务传递一些其他上下文,以使此祝酒词得以展示呢? 更好的方法是独立于用户在应用程序中的位置显示toast,因为在最坏的情况下,AsyncTask可能会在相当长的时间后完成,同时用户可能已经导航到其他地方。 如果这是不可能的,我有什么选项来通知用户A

我有一个服务,它运行了很长一段时间并收集数据。最后,它启动一个
异步任务
,并完成。问题是在
AsyncTask
onPostExecute()
中,我想显示一个
Toast
,但我没有正确的上下文,因为当
AsyncTask
完成时,服务已经不存在了。那么,我如何向服务传递一些其他上下文,以使此祝酒词得以展示呢? 更好的方法是独立于用户在应用程序中的位置显示toast,因为在最坏的情况下,
AsyncTask
可能会在相当长的时间后完成,同时用户可能已经导航到其他地方。
如果这是不可能的,我有什么选项来通知用户
AsyncTask
的成功?

根据主要问题下的讨论,在您的情况下,最好的解决方案是在所有
AsyncTask
(从该服务开始)完成工作之前不要停止
服务

根据主要问题下的讨论,您的最佳解决方案是在所有
异步任务
(从该服务开始)完成工作之前,不要停止
服务

您是否尝试过getApplicationContext()?为什么要从
服务运行
异步任务
<代码>服务
是执行后台操作的地方,现在需要从中启动任何异步任务。@Evos:是否可以从服务运行AsyncTask从服务运行AsyncTask有充分的理由-如果您的服务需要同时执行两件事。例如,在仍然在后台处理的情况下响应绑定活动的调用。@Evos同意。我看不出AsyncTask持续超过服务生命周期的充分理由,它似乎在设计中有问题,或者在服务停止时它应该被取消。您是否尝试过getApplicationContext()?为什么从
服务
运行
AsyncTask
<代码>服务
是执行后台操作的地方,现在需要从中启动任何异步任务。@Evos:是否可以从服务运行AsyncTask从服务运行AsyncTask有充分的理由-如果您的服务需要同时执行两件事。例如,在仍然在后台处理的情况下响应绑定活动的调用。@Evos同意。我看不出AsyncTask持续超过服务生命周期的理由,它似乎在设计中出了问题,或者在服务停止时它应该被取消。