PackageInstaller API と 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);
私が起動する必要がある次の機能は、「commit(IntentSender statusReceiver)」だと思います。
commit() の使い方と、特に /sdcard に保存されている APK をインストールするための適切な IntentSender の宣言方法を教えてください。
ありがとう !!