Android实现静默安装的两种方法
前言
一般情况下,Android系统安装apk会出现一个安装界面,用户可以点击确定或者取消来进行apk的安装。但在实际的项目需求中,有一种需求,就是希望apk在后台安装(不出现安装界面的提示),这种安装方式称为静默安装。下面这篇文章就给大家介绍了两种方法来实现,下面来一起看看吧。
1、root权限静默安装实现
实现实际使用的是supminstall-rfilePath命令。
核心代码如下:
protectedstaticvoidexcuteSuCMD(){
Processprocess=null;
OutputStreamout=null;
InputStreamin=null;
StringcurrentTempFilePath="/sdcard/QQ.apk";
try{
//请求root
process=Runtime.getRuntime().exec("su");
out=process.getOutputStream();
//调用安装
out.write(("pminstall-r"+currentTempFilePath+"\n").getBytes());
in=process.getInputStream();
intlen=0;
byte[]bs=newbyte[256];
while(-1!=(len=in.read(bs))){
Stringstate=newString(bs,0,len);
if(state.equals("Success\n")){
//安装成功后的操作
}
}
}catch(IOExceptione){
e.printStackTrace();
}catch(Exceptione){
e.printStackTrace();
}finally{
try{
if(out!=null){
out.flush();
out.close();
}
if(in!=null){
in.close();
}
}catch(IOExceptione){
e.printStackTrace();
}
}
}
2、非root权限提示用户安装,代码如下:
publicstaticvoidopenFile(){
//核心是下面几句代码
if(!isHasfile()){
downLoadFile(url);
}
Intentintent=newIntent();
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
intent.setAction(android.content.Intent.ACTION_VIEW);
intent.setDataAndType(
Uri.fromFile(newFile("/sdcard/update/updata.apk")),
"application/vnd.android.package-archive");
mContext.startActivity(intent);
}
总结
以上就是关于Android实现静默安装的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流。谢谢大家对毛票票的支持。