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