在2.3系统中测试没有问题,但是到了真机4.0系统中文件下载就失败了,由于logcat不显示错误信息,所以不知道哪里错了。找了网上的很多资料,大体找到两种原因:
1、如果android4.0中HttpURLConnection抛异常java.io.FileNotFoundException,是因为4.0中设置httpCon.setDoOutput(true),将导致请求以post方式提交,即使设置了httpCon.setRequestMethod(“GET”);
将代码中的httpCon.setDoOutput(true);删除即可
2、我遇到的就是第二种情况,因为我代码中并没有使用httpCon.setDoOutput(true);,第二种是因为在android3.0以后,主线程的网络连接是不被允许的,解决办法就是在一个单独的线程里面执行下载,比如可以使用AsyncTask,或者直接用Thread。