Android 下载一个文件以及打开这个apk文件

下载一个网络文件的函数如下

public static File downLoadFile(String httpUrl) { // TODO Auto-generated method stub final String fileName = "nq.apk"; File tmpFile = new File("//sdcard"); if (!tmpFile.exists()) { tmpFile.mkdir(); } final File file = new File("//sdcard//" + 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(DownFile.this, "连接超时", Toast.LENGTH_SHORT) // .show(); Log.i("time","time exceed"); } 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); } 

这样就可以实现一个apk文件的下载和安装,后续有时间给大家介绍下静默安装和卸载的实现

 

本文地址http://blog.csdn.net/Zengyangtech/archive/2011/03/15/6251377.aspx

转载请注明

 

你可能感兴趣的:(android,String,File,null,url,byte)