抱歉,如果我再次提问,但我没有找到此问题的相关信息。
我正在下载/上传后台服务中的文件。从这个服务我想发送文件下载/上传的进度。我知道的一种方法是每5%或10%的文件下载/上传发送广播。另一个是将活动与服务绑定,实现一个接口,服务将通知绑定活动,哪个文件已被下载/上载。我不知道哪种方法好。如果您有其他好方法请与我分享。最多可同时存储5个文件下载/上传。
提前致谢。
注意: 我没有留在活动中,我开始下载,用户可以回到家,可以开始使用其他应用程序,但无论何时,他回来,他将收到文件下载/上传的更新进度通知
答案 0 :(得分:0)
最佳解决方案是使用 IntentService IntentService类提供了一个简单的结构,用于在单个后台线程上运行操作。这使它能够处理长时间运行的操作,而不会影响用户界面的响应能力。此外,IntentService不受大多数用户界面生命周期事件的影响,因此它会在关闭AsyncTask的情况下继续运行
但是IntentService有一些限制:
但是,在大多数情况下,IntentService是执行简单后台操作的首选方式。
注意:如果您的应用针对Android 5.0(API级别21),则应使用JobScheduler执行后台服务。