Quantcast
Channel: CSDN博客移动开发推荐文章
Viewing all articles
Browse latest Browse all 5930

Android--静默安装

$
0
0

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);  
    }  


作者:chaoyu168 发表于2017/1/13 11:38:22 原文链接
阅读:15 评论:0 查看评论

Viewing all articles
Browse latest Browse all 5930

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>