安装:


1 String str = "/CanavaCancel.apk";
2 String fileName = Environment.getExternalStorageDirectory() + str;
3 Intent intent = newIntent(Intent.ACTION_VIEW);
4 intent.setDataAndType(Uri.fromFile(newFile(fileName)), "application/vnd.android.package-archive");
5 startActivity(intent);


卸载:


1 Uri packageURI = Uri.parse("package:com.demo.CanavaCancel");
2 Intent uninstallIntent = newIntent(Intent.ACTION_DELETE, packageURI);
3 startActivity(uninstallIntent);


Environment拥有一些可以获取环境变量的方法 package:com.demo.CanavaCancel 这个形式是 package:程序完整的路径 (包名+程序名).

//下载apk程序代码


查看源码 打印 ?
01 protectedFile downLoadFile(String httpUrl) {
02 // TODO Auto-generated method stub
03 finalString fileName = "updata.apk";
04 File tmpFile = newFile("/sdcard/update");
05 if(!tmpFile.exists()) {
06 tmpFile.mkdir();
07 }
08 finalFile file = newFile("/sdcard/update/"+ fileName);
09
10 try{
11 URL url = newURL(httpUrl);
12 try{
13 HttpURLConnection conn = (HttpURLConnection) url
14 .openConnection();
15 InputStream is = conn.getInputStream();
16 FileOutputStream fos = newFileOutputStream(file);
17 byte[] buf = newbyte[256];
18 conn.connect();
19 doublecount = 0;
20 if(conn.getResponseCode() >= 400) {
21 Toast.makeText(Main.this, "连接超时", Toast.LENGTH_SHORT)
22 .show();
23 } else{
24 while(count <= 100) {
25 if(is != null) {
26 intnumRead = is.read(buf);
27 if(numRead <= 0) {
28 break;
29 } else{
30 fos.write(buf, 0, numRead);
31 }
32
33 } else{
34 break;
35 }
36
37 }
38 }
39
40 conn.disconnect();
41 fos.close();
42 is.close();
43 } catch(IOException e) {
44 // TODO Auto-generated catch block
45
46 e.printStackTrace();
47 }
48 } catch(MalformedURLException e) {
49 // TODO Auto-generated catch block
50
51 e.printStackTrace();
52 }
53
54 returnfile;
55 }
56 //打开APK程序代码
57
58 privatevoidopenFile(File file) {
59 // TODO Auto-generated method stub
60 Log.e("OpenFile", file.getName());
61 Intent intent = newIntent();
62 intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
63 intent.setAction(android.content.Intent.ACTION_VIEW);
64 intent.setDataAndType(Uri.fromFile(file),
65 "application/vnd.android.package-archive");
66 startActivity(intent);
67 }


更多相关文章

  1. Android(安卓)Http请求的代码
  2. 更新Anadroid SDK Tooks之后,Eclipse提示No update were found
  3. 更新Anadroid SDK Tooks之后,Eclipse提示No update were found
  4. Android:安装APK包以后系统文件目录的变化
  5. Android(安卓)SDK: sdkmanager 命令行工具的使用(查看、安装、更
  6. Android设备管理器漏洞
  7. 基于TCP/IP协议的Java服务端与Android客户端的Socket通信及数据
  8. android 中http请求的容错管理
  9. Android(安卓)Accessibility(辅助功能) --实现Android应用自动安

随机推荐

  1. Swoole在PHP-fpm/apache中使用task功能
  2. php-fpm的reload过程
  3. 关于PHP安全编程的一些建议
  4. php实现特殊字符的替换操作
  5. 关于PHP中Exception、Error Handler的细
  6. PHP实现动态规划之背包问题
  7. 使用PHP来获取客户端和服务端IP
  8. PHP 是怎么接收到请求的?
  9. 关于mysql操作的详细总结以及实例(一)
  10. PHP之十六个魔术方法详解(总结)