标签:
安装:
| 1 2 3 4 5 | String str = "/CanavaCancel.apk";String fileName = Environment.getExternalStorageDirectory() + str;Intent intent = newIntent(Intent.ACTION_VIEW);intent.setDataAndType(Uri.fromFile(newFile(fileName)), "application/vnd.android.package-archive");startActivity(intent); | 
卸载:
| 1 2 3 | Uri packageURI = Uri.parse("package:com.demo.CanavaCancel");  Intent uninstallIntent = newIntent(Intent.ACTION_DELETE, packageURI);  startActivity(uninstallIntent); | 
//下载apk程序代码
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 | protectedFile downLoadFile(String httpUrl) {                // TODO Auto-generated method stub                finalString fileName = "updata.apk";                File tmpFile = newFile("/sdcard/update");                if(!tmpFile.exists()) {                        tmpFile.mkdir();                }                finalFile file = newFile("/sdcard/update/"+ fileName);                try{                        URL url = newURL(httpUrl);                        try{                                HttpURLConnection conn = (HttpURLConnection) url                                                .openConnection();                                InputStream is = conn.getInputStream();                                FileOutputStream fos = newFileOutputStream(file);                                byte[] buf = newbyte[256];                                conn.connect();                                doublecount = 0;                                if(conn.getResponseCode() >= 400) {                                        Toast.makeText(Main.this, "连接超时", Toast.LENGTH_SHORT)                                                        .show();                                } else{                                        while(count <= 100) {                                                if(is != null) {                                                        intnumRead = 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();                }                returnfile;        }//打开APK程序代码privatevoidopenFile(File file) {                // TODO Auto-generated method stub                Log.e("OpenFile", file.getName());                Intent intent = newIntent();                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://www.cnblogs.com/Free-Thinker/p/4481568.html