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。