google play 中下载的应用,下载完自动安装,其实我们也可以实现.
再扩展一下,无提示删除已安装应用。
使用到android 隐藏函数的调用,需要编译android 源码。
需要用mm 来编译自己的工程,使用eclipse无法编译。
核心代码,
安装apk
public void installApk(Context context, String archiveFilePath) {
if (null == context || null == archiveFilePath) {
return;
}
Uri packageURI = Uri.fromFile(new File(archiveFilePath));
PackageManager pm = context.getPackageManager();
int installFlags = 0;
PackageInfo pi = pm.getPackageArchiveInfo(archiveFilePath, PackageManager.GET_UNINSTALLED_PACKAGES);
if (null == pi) return;
installFlags |= PackageManager.INSTALL_REPLACE_EXISTING;
String installerPackageName = pi.packageName;
pm.installPackage(packageURI, null, installFlags, installerPackageName);
}
删除已经安装的包名
public void deletePackage(Context context, String pkg){
PackageManager pm = context.getPackageManager();
pm.deletePackage(pkg, null, 0);
}