安卓如何处理IntentService的onStop事件

3
我想处理IntentService的onStop事件。IntentService将接收意图,启动工作线程并在适当时停止服务,但我没有找到onStop方法。它有onDestroy(),但实际上onDestroy()方法无法被调用。

只有在系统资源(内存、CPU时间等)不足且决定杀死您的活动/应用程序或者有人在您的活动上调用finish()时,才会调用onDestroy。

我能在onStop IntentService时间中添加我的代码吗?

2个回答

1
你可以使用stopSelf()停止服务。在服务停止之前执行任务,您可以编写自定义回调/广播,在您的线程后通知UI。

是的,看起来只有在服务执行后编写我的广播才可能。但是这是使用多个下载线程的Download IntenetService,我需要处理事件并在所有下载完成后发送回调/广播。 - sytolk

1
如果你正在子类化 IntentService,应该使用 onHandleIntent(Intent intent) 管理服务的生命周期。如果你没有在 onHandleIntent 中编写代码,你的服务可能会很快移动到 onDestroy。此外,由于 IntentService 为您自动线程化并可能仅启动调用 onHandleIntent 的工作线程,并移动到 onDestroy,因此它可能总是很快移动到 onDestroy

问题是如何处理 onStop IntentService?服务可能会移动到 onDestroy?我不确定。 - sytolk

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接