前言
一般情况下,Android系统安装apk会出现一个安装界面,用户可以点击确定或者取消来进行apk的安装。 但在实际的项目需求中,有一种需求,就是希望apk在后台安装(不出现安装界面的提示),这种安装方式称为静默安装。下面这篇文章就给大家介绍了两种方法来实现,下面来一起看看吧。
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); }
总结
以上就是关于Android实现静默安装的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流。谢谢大家对小牛知识库的支持。
本文向大家介绍android实现静默安装与卸载的方法,包括了android实现静默安装与卸载的方法的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了android实现静默安装与卸载的方法。分享给大家供大家参考。具体如下: 方法1:【使用调用接口方法,由于安装卸载应用程序的部分API是隐藏的,所以必须下载Android系统源码,在源码下开发并编译之后使用MM命令编译生成APK文件】 安装、卸载
本文向大家介绍Android实现静默安装实例代码,包括了Android实现静默安装实例代码的使用技巧和注意事项,需要的朋友参考一下 静默安装主要分为以下几种方式: 一、在ROOT过的机器上,在App中使用pm install指令安装APK: 二、修改系统应用PackageManagerIntaller.apk的源码,增加无界面的安装接口: 原理 在Android的文件夹中点击一个APK时,触发安装
本文向大家介绍java实现静默安装apk,包括了java实现静默安装apk的使用技巧和注意事项,需要的朋友参考一下 静默安装就是偷偷的把一个应用安装到手机上,就是屏蔽确认框,通过反射 只能写个主要的代码,这个是在linux编译用到,因为静默安装需要调用系统服务,在源码下编译,我也是搞了好久 InstallActivity.java main.xml 以上所述就是本文的全部内容了,希望大家能够喜欢。
本文向大家介绍Android实现轮播效果的两种方法,包括了Android实现轮播效果的两种方法的使用技巧和注意事项,需要的朋友参考一下 实现轮播效果有2种方法: (1)使用ViewPager+ImageView,通过Handler进行间隔发送消息,实现自动轮播效果 xml代码: adapter: (2)使用SliderLayout第三方进行实现轮播 添加依赖: xml代码: Java代码: 以上就
本文向大家介绍PyCharm安装Markdown插件的两种方法,包括了PyCharm安装Markdown插件的两种方法的使用技巧和注意事项,需要的朋友参考一下 Markdown是一种可以使用普通文本编辑器编写的标记语言,通过简单的标记语法,它可以使普通文本内容具有一定的格式。 从github下载的代码一般都会带有README.md文件,该文件是一个Markdown格式的文件。PyCharm是默认没
本文向大家介绍安装docker-compose的两种最简方法,包括了安装docker-compose的两种最简方法的使用技巧和注意事项,需要的朋友参考一下 这里简单介绍下两种安装docker-compose的方式,第一种方式相对简单,但是由于网络问题,常常安装不上,并且经常会断开,第二种方式略微麻烦,但是安装过程比较稳定 方法一: 查看版本信息 但是此方法会经常因为网络的原因而无法安装 方法二: