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

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

   下载一个网络文件的函数如下 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); 
}  


  转自:http://ice-k.iteye.com/blog/997423