android静默升级方案,Android实现静默安装的两种方法

前言

一般情况下,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实现静默安装的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流。谢谢大家对脚本之家的支持。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值