Android总结篇系列:Notification中显示下载进度

文章标签: android
2015-1-16 17:48:08     人阅读    

实际项目开发过程中,基本上都被遇到一个需求,下载文件,下面就以程序中都有的检测更新为例,总结下如何处理下载本应用的最新版本。
1. 首先最简单的,直接借助于第三方应用,常见的如浏览器等实现下载
一般性写法如下:
1 Intent intent = new Intent();

2 intent.setAction(Intent.ACTION_VIEW);

3 intent.setData(Uri.parse("http://xxxx.apk"));

4 intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);

5 startActivity(intent);
当此段代码执行完后,如果用户手机上装有多个可进行此intent处理的应用,将会弹出选框够供用户选择。选择其中一项后(如UC浏览器),则会打开此浏览器,且在打开的界面上提示用户是否进行此应用的下载。点击是后,将进入到下载流程,下载完成后提示用户是否安装。必要的前提是,对应的下载URL必须为实际有效的下载地址,如URL设置为http://www.hao123.com,则会直接打开此网页了。
 
2.在Activity中以Dialoag等形式直接显示下载进度
此时一般都要自定义Dialog所对应的布局文件,然后通过开启一个新的线程下载,并通过Handler机制更新进度条。此种方式在部分应用被被采用,实际上,主要存在有如下弊端:
1.当正在现在的过程中,用户无法在本应用被进行其他操作,如果用户按了back键等,下载会停止?


原文地址:http://www.itmmd.com/201501/508.html
该文章由 萌萌的IT人 整理发布,转载须标明出处。

开发中出现 this requires android.permission.INTERACT_ACROSS_USERS_FULL ,如何解决?   上一篇
下一篇  Action buttons 无法在 Action Bar上显示,把下拉菜单替换成按钮
精彩回复
我要追加问题,请求站长解决!
姓名:       

《程序员app》专门为程序员量身定做!