我需要下载一个大文件。对于api 9或更高版本,我需要使用DownloadManger
类。但即使用户暂停Activity
或按Back
...或用户杀死Activity
,我也希望我的下载能够继续。一旦他开始下载过程,它应该在完成相应的下载后停止。如果同时网络连接断开,下载应该从它停止的地方恢复,即不应该从头开始。
答案 0 :(得分:0)
仅针对此用例仅依赖Activity
不是一个好主意。有两种选择:
Service
之外,请使用Activity
。在onPause()
,启动Service
和您的onResume()
活动中,停止Service
。 Service
本身也应该注册ACTION_DOWNLOAD_COMPLETE
广播。 Service
)时收到广播,则可以发布通知或烤面包或用户点击的任何内容以返回Activity
。您还应注册ACTION_NOTIFICATION_CLICKED
。BroadcastReceiver
即可收听ACTION_DOWNLOAD_COMPLETE
广播。 onReceive()
中,您可以在下载完成后执行任何操作。同样,如果Activity已经在前台,您可以直接更新UI。否则,用户点击Notification
即可在ACTION_NOTIFICATION_CLICKED
中处理该问题。