Android PackageInstaller 静默安装的实现

2014-11-24 14:46:25 · 作者: · 浏览: 26

实现的分析


在窗口中点击一个APK时,触发单击事件,PackageInstaller接收系统服务PackageManagerService传来的intent信息,传来的Intent信息中有APK的一些参数。实现的关键是区分一般APK和特定APK


文件列表大概如下:


InstallAppProgress.java


PackageInstallerActivity.java


+PackageInstallerActivityHide.java


PackageUtil.java


UninstallAppProgress.java


UninstallerActivity.java


+UninstallerActivityHide.java


具体实现


注意这里的两点:


内容如下:


2 实现PakkageInstallActivityHide.java,UninstallerActivityHide.java。 只需把PakkageInstallActivity.java修改去掉dialog和对话框。


3 安装程序调用者发一个上面定义的intent即可。如下例子,静默安装/sdcard/hello.apk


卸载的方法类似。


4 注意,这个方法需要PackageInstall这个apk必须与系统一起编译。这个apk在/system/app/目录下面;android.intent.action.VIEW.HIDE 这个静默安装的接口需要开放给第三方。