静默安装

01 btn_backinstall.setOnClickListener(new OnClickListener() {
02 06              
03 07              @Override
04 08              public void onClick(View v) {
05 09                  //文件时已经存在sd卡中了,也可以先从网络中下载,然后存入sd卡中
06 10                  String fileName = Environment.getExternalStorageDirectory()
07 11                          "/ma"+"/MyHttpTest.apk";
08 12                  install(fileName);
09 13              }
10 14          });
11 15      }
12 16  
13 17  
14 18  
15 19  
16 20          //方法体可以在任何地方可套用,不用修改任何东东哦!
17 21      public String install(String apkAbsolutePath ){ 
18 22          String[] args = { "pm""install""-r", apkAbsolutePath };
19 23          String result = "";
20 24          ProcessBuilder processBuilder = new ProcessBuilder(args);
21 25          Process process = null;
22 26          InputStream errIs = null;
23 27          InputStream inIs = null;
24 28          try {
25 29              ByteArrayOutputStream baos = new ByteArrayOutputStream();
26 30              int read = -1;
27 31              process = processBuilder.start();
28 32              errIs = process.getErrorStream();
29 33              while ((read = errIs.read()) != -1) {
30 34                  baos.write(read);
31 35              }
32 36              baos.write("/n".getBytes());
33 37              inIs = process.getInputStream();
34 38              while ((read = inIs.read()) != -1) {
35 39                  baos.write(read);
36 40              }
37 41              byte[] data = baos.toByteArray();
38 42              result = new String(data);
39 43          catch (IOException e) {
40 44              e.printStackTrace();
41 45          catch (Exception e) {
42 46              e.printStackTrace();
43 47          finally {
44 48              try {
45 49                  if (errIs != null) {
46 50                      errIs.close();
47 51                  }
48 52                  if (inIs != null) {
49 53                      inIs.close();
50 54                  }
51 55              catch (IOException e) {
52 56                  e.printStackTrace();
53 57              }
54 58              if (process != null) {
55 59                  process.destroy();
56 60              }
57 61          }
58 62          return result;
59 63      }
60 64  
61 65  
62 66  
63 67        <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
64 68      <uses-permission android:name="android.permission.INSTALL_PACKAGES" />
65 69      <uses-permission android:name="android.permission.DELETE_PACKAGES" />
66 70      <uses-permission android:name="android.permission.CLEAR_APP_CACHE" />
67 71      <uses-permission android:name="android.permission.CLEAR_APP_USER_DATA" />
68 72      <uses-permission android:name="android.permission.READ_PHONE_STATE" />
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值