Android--静默安装

1、root权限静默安装实现

实现实际使用的是su pm install -r filePath命令。核心代码如下:

protected static void excuteSuCMD() {  
		 Process process = null; 
		    OutputStream out = null; 
		    InputStream in = null; 
		    String currentTempFilePath = "/sdcard/QQ.apk";
		    try { 
		    // 请求root 
		    process = Runtime.getRuntime().exec("su");  
		    out = process.getOutputStream(); 
		    // 调用安装 
		    out.write(("pm install -r " + currentTempFilePath + "\n").getBytes()); 
		    in = process.getInputStream(); 
		    int len = 0; 
		    byte[] bs = new byte[256]; 
		    while (-1 != (len = in.read(bs))) { 
		    String state = new String(bs, 0, len); 
		    if (state.equals("Success\n")) { 
		       //安装成功后的操作 
		         } 
		       } 
		    } catch (IOException e) { 
		        e.printStackTrace(); 
		    } catch (Exception e) { 
		        e.printStackTrace(); 
		    } finally { 
		        try { 
		            if (out != null) { 
		                out.flush(); 
		                out.close(); 
		            } 
		            if (in != null) { 
		                in.close(); 
		            } 
		        } catch (IOException e) { 
		            e.printStackTrace(); 
		        } 
		    } 
	 }


2、非root权限提示用户安装,代码如下:

 public static void openFile() {  
        // 核心是下面几句代�?  
        if (!isHasfile()) {  
            downLoadFile(url);  
        }  
        Intent intent = new Intent();  
        intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);  
        intent.setAction(android.content.Intent.ACTION_VIEW);  
        intent.setDataAndType(  
                Uri.fromFile(new File("/sdcard/update/updata.apk")),  
                "application/vnd.android.package-archive");  
        mContext.startActivity(intent);  
    }  


转载于:https://www.cnblogs.com/chaoyu/p/6436785.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值