我已经搜索了互联网,但没有找到答案。很抱歉我是Java和Android编程的新手。
我想更详细地描述我的问题。比方说,我的Activity启动了IntentService并在后台独立运行。服务“订阅”ResultReceiver回调以更新Activity UI。当服务正在执行长时间运行的过程时,Activity被销毁。那么,如果服务通过ResultReceiver向Activity发送答复或进度更新会发生什么?
因为我知道,ResultReceiver需要引用Activity。
在我的项目中,我需要开发一个视频消息应用程序。当用户捕捉视频时,它将传递数据到服务,并且服务将执行上传,并将一些信息保存到数据库中……同时,通过ResultReceiver不断地向Activity UI发布进度更新。
用户可以随意退出或杀死Activity。但是,当他们再次导航到应用程序/ Activity时,如果上传/下载仍在进行,则需要显示当前进度。
最初我考虑使用Asynctask,但它也有类似的问题,就像我所提到的那样。它需要调用者Activity的引用。
是否有任何地方可以实现我所提到的要求?非常抱歉这是一个很长的帖子。希望有人能给我一些启示,最好还有一些代码片段。非常感谢:)
编辑:简单地说,是否有一种方法可以动态地将新创建的Activity绑定到正在运行的IntentService,以便服务可以向正确的Activity发送进度更新?
我想更详细地描述我的问题。比方说,我的Activity启动了IntentService并在后台独立运行。服务“订阅”ResultReceiver回调以更新Activity UI。当服务正在执行长时间运行的过程时,Activity被销毁。那么,如果服务通过ResultReceiver向Activity发送答复或进度更新会发生什么?
因为我知道,ResultReceiver需要引用Activity。
在我的项目中,我需要开发一个视频消息应用程序。当用户捕捉视频时,它将传递数据到服务,并且服务将执行上传,并将一些信息保存到数据库中……同时,通过ResultReceiver不断地向Activity UI发布进度更新。
用户可以随意退出或杀死Activity。但是,当他们再次导航到应用程序/ Activity时,如果上传/下载仍在进行,则需要显示当前进度。
最初我考虑使用Asynctask,但它也有类似的问题,就像我所提到的那样。它需要调用者Activity的引用。
是否有任何地方可以实现我所提到的要求?非常抱歉这是一个很长的帖子。希望有人能给我一些启示,最好还有一些代码片段。非常感谢:)
编辑:简单地说,是否有一种方法可以动态地将新创建的Activity绑定到正在运行的IntentService,以便服务可以向正确的Activity发送进度更新?