android 2.3中引入了Download manager,作为一个service来优化长时间下载操作的处理。Download Manager通过处理HTTP链接、监控链接的变化和系统重新启动来确保每一次下载都能成功。
下载文件;
public void funclick(View view){ String serviceString = Context.DOWNLOAD_SERVICE; DownloadManager downloadManager; downloadManager = (DownloadManager)getSystemService(serviceString); Uri uri = Uri.parse("http://img00.hc360.com/it/201206/201206121034589404.jpg"); DownloadManager.Request request = new Request(uri); long reference = downloadManager.enqueue(request); }
记得加入权限:
<uses-permission android:name="android.permission.INTERNET"/>
如果要限制为WIFI下载呢,可以这样:
request.setAllowedNetworkTypes(Request.NETWORK_WIFI);
有时候如果数据不是太大的话,我们不用限制必须为WIFI才可以下载,这时可以使用:
downloadManager.getRecommendedMaxBytesOverMobile(getApplicationContext());
他会通过返回一个在移动数据连接上传输时推荐的最大字节数来确定是否应该限制下载类型为WI-FI。