//下载文件到sdcard,并自动进入软件安装界面
private void downloadNewAPP() {
new Thread(){
public void run() {
InputStream in = null;
FileOutputStream out = null;
try {
//创建httpclient
HttpClient client = new DefaultHttpClient();
//设置超时时长
client.getParams().setParameter(CoreConnectionPNames.CONNECTION_TIMEOUT, 3000);
//请求方式
HttpGet request = new HttpGet(path);
//执行请求
HttpResponse response = client.execute(request);
//判断响应码
if (response.getStatusLine().getStatusCode() == 200) {
//获取apk流对象
in = response.getEntity().getContent();
//创建输出流
File file = new File(Environment.getExternalStorageDirectory(),getFileName(path));
out = new FileOutputStream(file);
//下载
byte[] buffer = new byte[1024];
int len = 0;
while((len = in.read(buffer))!=-1){
out.write(buffer, 0, len);
}
//弹出安装界面
//创建message对象
Message msg = Message.obtain();
//设置类型
msg.what = INSTALL_NEW_VERSION;
//发送消息
handler.sendMessage(msg);
}
} catch (Exception e) {
e.printStackTrace();
} finally {
//释放流
try {
if (out != null) {
out.close();
}
} catch (IOException e) {
e.printStackTrace();
}
try {
if (in != null) {
in.close();
}
} catch (IOException e) {
e.printStackTrace();
}
}
};
}.start();
}
//获取文件名
private String getFileName(String path) {
return path.substring(path.lastIndexOf("/"));
}
Android从服务器下载文件
最新推荐文章于 2022-04-08 15:35:39 发布