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
转载请注明
浙公网安备 33010602011771号