轻松搞定下载MyDownloadManager
序言:
软件更新想必大家都用过,很多是用友盟的下载,但是也有自己公司服务器下载的处理方式,本文主要讲解的是自己下载的处理方法
想必大家就会说,这还用自己做呀,系统自带的一行代码不就解决了-------DownloadManager,如果你还在用这个下载,那你就太年轻了,不是说这个方法不好,而是在中国这样的大环境下********你懂的,三星note系列部分手机需要手动打开这个权限才能用这个功能(确定不是逗我????),而有些国产手机更加nb了直接个阉割了(nm)
好吧,既然这样还是规规矩矩的自己写吧,同样的需求我标示ios分分钟搞定,咱们这边无数的坑呀,废话到处结束!咱们看如何自己写一个DownloadManager!先上效果
流程:
正常的逻辑我们需要先通过服务器判断是否需要更新软件,然后如果需要则返回一个url下载链接,下载安装更新
实现:
1.获取更新的url然后启动服务后台下载
2.后台服务器中启动下载和通知
下载使用的是xutils,大家可以自己替换你自己喜欢的下载框架(自己写也是可以的!!!)
3.在onlading中更新通知栏更新就行了!下载完成或者错误以后停止后台服务然后关闭通知栏通知信息
4.安装apk
最后啰嗦几句关于布局文件中的progressbar自定义背景(如果是处女座请详细学习这些属性的差别吧!)
第一种:
第二种:
第一种的实现方式是优化的实现:
第二种:
5.需要注意的细节:
- 启动服务的时候千万别用action的方式去启动,部分手机无法启动(Galaxy A8亲测不好用呀)
- 憋忘记添加网络权限和本地文件读写权限
- 记得关闭服务