小编Cyr*_*rBt的帖子

Android Lollipop - PackageInstaller.Session commit()

我只是尝试使用PackageInstaller和PackageManager API在我的设备上安装软件包(从运行它的设备所有者应用程序).我一直在寻找例子但找不到符合我需要的东西.

以下是我安装Facebook应用程序的代码示例:

PackageManager pm = getPackageManager();
PackageInstaller mPackageInstaller = pm.getPackageInstaller();
PackageInstaller.SessionParams mSessionParams = new PackageInstaller.SessionParams(SessionParams.MODE_FULL_INSTALL);

mSessionParams.setReferrerUri(Uri.parse("file:///mnt/sdcard/Download/Facebook.apk"));
int mSessionId = mPackageInstaller.createSession( mSessionParams );

PackageInstaller.Session mPkgSession = PackageInstaller.openSession(mSessionId);
OutputStream mOStream = mPkgSession.openWrite("com.facebook.katana", 0, -1);
mPkgSession.fsync(mOStream);
Run Code Online (Sandbox Code Playgroud)

我想,我需要启动的下一个功能是"提交(IntentSender statusReceiver)".

所以请告诉我如何使用commit(),特别是如何声明一个正确的IntentSender来安装存储在/ sdcard中的APK.

谢谢 !!

android android-package-managers android-install-apk android-5.0-lollipop packageinstaller

5
推荐指数
2
解决办法
3441
查看次数