Android P适配静默安装
标签(空格分隔): android
Android P上通过pm命令执行静默安装失效。原因是pm命令在P上面已经移除。Google建议以文件流的方式执行安装,大体过程如下:
// 适配android9的安装方法。
public void install28(String apkFilePath) {
File apkFile = new File(apkFilePath);
PackageInstaller packageInstaller = getPackageManager().getPackageInstaller();
PackageInstaller.SessionParams sessionParams
= new PackageInstaller.SessionParams(PackageInstaller
.SessionParams.MODE_FULL_INSTALL);
sessionParams.setSize(apkFile.length());
int sessionId = createSession(packageInstaller, sessionParams);
if (sessionId != -1) {
boolean copySuccess = copyInstallFile(packageInstaller, sessionId, apkFilePath);
if (copySuccess) {
execInstallCommand(packageInstaller, sessionId);
}
}
}
private int createSession(PackageInstaller packageInstaller,
PackageInstaller.SessionParams sessi