静默安装,避免了更新安装的时候跳出的对话框,后台安装,静默后台,本段代码的作用是当点击按
分享于 点击 21326 次 点评:34
静默安装,避免了更新安装的时候跳出的对话框,后台安装,静默后台,本段代码的作用是当点击按
本段代码的作用是当点击按键的时候,通过后台呗你要安装的apk安装完成,方法体你可以拷贝出来在你的应用程序中
套用,不用做任何修改哦!这段代码就是送给你的!呵呵,不过要通过源码编译的!
这个还要一个非常重要的前提是要在源码下面编译一下 哦!btn_backinstall.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { //文件时已经存在sd卡中了,也可以先从网络中下载,然后存入sd卡中 String fileName = Environment.getExternalStorageDirectory() + "/feng"+"/MyHttpTest.apk"; install(fileName); } }); } //方法体可以在任何地方可套用,不用修改任何东东哦! public String install(String apkAbsolutePath ){ String[] args = { "pm", "install", "-r", apkAbsolutePath }; String result = ""; ProcessBuilder processBuilder = new ProcessBuilder(args); Process process = null; InputStream errIs = null; InputStream inIs = null; try { ByteArrayOutputStream baos = new ByteArrayOutputStream(); int read = -1; process = processBuilder.start(); errIs = process.getErrorStream(); while ((read = errIs.read()) != -1) { baos.write(read); } baos.write("/n".getBytes()); inIs = process.getInputStream(); while ((read = inIs.read()) != -1) { baos.write(read); } byte[] data = baos.toByteArray(); result = new String(data); } catch (IOException e) { e.printStackTrace(); } catch (Exception e) { e.printStackTrace(); } finally { try { if (errIs != null) { errIs.close(); } if (inIs != null) { inIs.close(); } } catch (IOException e) { e.printStackTrace(); } if (process != null) { process.destroy(); } } return result; } <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> <uses-permission android:name="android.permission.INSTALL_PACKAGES" /> <uses-permission android:name="android.permission.DELETE_PACKAGES" /> <uses-permission android:name="android.permission.CLEAR_APP_CACHE" /> <uses-permission android:name="android.permission.CLEAR_APP_USER_DATA" /> <uses-permission android:name="android.permission.READ_PHONE_STATE" />//该片段来自于http://byrx.net
用户点评