Android 下载一个资料以及打开这个apk文件
Android 下载一个文件以及打开这个apk文件
下载一个网络文件的函数如下
如果是一个apk文件,打开并且安装的函数为
转自:http://ice-k.iteye.com/blog/997423
下载一个网络文件的函数如下
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