//下载apk程序代码

protected File downLoadFile(String httpUrl) {

// TODO Auto-generated method stub

final String fileName = "updata.apk";

File tmpFile = new File("/sdcard/update");

if (!tmpFile.exists()) {

tmpFile.mkdir();

}

final File file = new File("/sdcard/update/" + fileName);

try {

URL url = new URL(httpUrl);

try {

HttpURLConnection conn = (HttpURLConnection) url

.openConnection();

InputStream is = conn.getInputStream();

FileOutputStream fos = new FileOutputStream(file);

byte[] buf = new byte[256];

conn.connect();

double count = 0;

if (conn.getResponseCode() >= 400) {

Toast.makeText(Main.this, "连接超时", Toast.LENGTH_SHORT)

.show();

} else {

while (count <= 100) {

if (is != null) {

int numRead = is.read(buf);

if (numRead <= 0) {

break;

} else {

fos.write(buf, 0, numRead);

}

} else {

break;

}

}

}

conn.disconnect();

fos.close();

is.close();

} catch (IOException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

} catch (MalformedURLException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

return file;

}

//打开APK程序代码

private void openFile(File file) {

// TODO Auto-generated method stub

Log.e("OpenFile", file.getName());

Intent intent = new Intent();

intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);

intent.setAction(android.content.Intent.ACTION_VIEW);

intent.setDataAndType(Uri.fromFile(file),

"application/vnd.android.package-archive");

startActivity(intent);

}

更多推荐