Android:Java代码实现APP普通安装卸载和静默安装卸载
2015-05-06 16:22
651 查看
两者差异
执行普通安装、卸载,将会弹出确认安装、卸载的提示框,与在文件管理器中打开APK文件实现安装、卸载相同。执行静默安装、卸载,正常状态下,前台无任何反应,APP在后台完成安装和卸载。该功能一般也被称为“后台安装”,实现该功能需要ROOT。
普通安装
核心代码:Intent intent = new Intent(Intent.ACTION_VIEW); intent.setDataAndType( Uri.fromFile(new File(apkPath)), "application/vnd.android.package-archive" ); context.startActivity(intent);
普通卸载
核心代码:Uri packageURI = Uri.parse("package:" + packageName); Intent intent = new Intent(Intent.ACTION_DELETE, packageURI); context.startActivity(intent);
上述代码中,packageName是目标APP的包名。
静默安装
核心代码:private static final String SILENT_INSTALL_CMD = "pm install -r ";
String installCmd = SILENT_INSTALL_CMD + apkPath;// PM指令不支持中文 int result = -1; DataOutputStream dos = null; Process process = null; try { process = Runtime.getRuntime().exec("su"); dos = new DataOutputStream(process.getOutputStream()); dos.writeBytes(installCmd + "\n"); dos.flush(); dos.writeBytes("exit\n"); dos.flush(); process.waitFor(); result = process.exitValue(); } catch (Exception e) { e.printStackTrace(); } finally { try { if(dos != null) { dos.close(); } if(process != null){ process.destroy(); } } catch (IOException e) { e.printStackTrace(); } } return result;
静默卸载
核心代码:// 如果要保留数据,需要加-k参数,但是卸载会不完全 private static final String SILENT_UNINSTALL_CMD = "pm uninstall ";
String uninstallCmd = SILENT_UNINSTALL_CMD + appPackageName; int result = -1; DataOutputStream dos = null; Process process = null; try { process = Runtime.getRuntime().exec("su"); dos = new DataOutputStream(process.getOutputStream()); dos.writeBytes(uninstallCmd + "\n"); dos.flush(); dos.writeBytes("exit\n"); dos.flush(); process.waitFor(); result = process.exitValue(); } catch (Exception e) { e.printStackTrace(); } finally { try { if(dos != null) { dos.close(); } if(process != null){ process.destroy(); } } catch (IOException e) { e.printStackTrace(); } } return result;
上述代码中,appPackageName是目标APP的包名。
具体信息可参考该页面内的
install、
uninstall、
silentInstall和
silentUninstall这四个方法。
相关文章推荐
- android 代码实现软件的静默安装,卸载功能(转载)
- Android—java实现apk的静默安装、普通安装
- Android实现静默安装实例代码
- Android实现静默安装与卸载
- Android实现用代码简单安装和卸载APK的方法
- ANDROID代码实现APK文件的安装与卸载
- Android 静默安装(自动安装)和静默卸载的实现方法
- Android 获取Root权限之后的静默安装实现 代码示例分析&&源码下载
- Android实现静默安装与卸载
- Android静默安装和静默卸载代码
- android实现静默下载、静默安装、获取root权限并自动安装成系统APP、自启动
- Android APK安装与卸载的代码实现
- Android常用代码之普通及系统权限静默安装APK
- android 中静默安装APK实现代码
- android 实现静默安装、卸载(图)
- ANDROID代码实现APK文件的安装与卸载
- android 实现静默安装、卸载
- Android实践 -- App的静默安装和卸载
- Android获取Root权限之后的静默安装实现代码示例分析
- Android_实现静默安装和卸载应用