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实现静默安装的两种方法 的全部内容, 来源链接: utcz.com/z/348425.html

回到顶部