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 查看评论