Я пытаюсь установить пакеты на моем устройстве (из приложения-владельца устройства, которое работает на нем), только с помощью API PackageInstaller и PackageManager. Я искал примеры, но не мог найти ничего, что соответствовало бы моей потребности.Android Lollipop - PackageInstaller.Session commit()
Вот пример моего кода, чтобы установить приложение 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);
Я думаю, следующая функция Мне нужно запустить это «совершить (IntentSender statusReceiver)».
Поэтому, пожалуйста, расскажите мне, как использовать commit() и особенно, как объявить правильный IntentSender для установки APK, который хранится в/sdcard.
Спасибо!
Поскольку я lanching этих функций от устройства-владелец приложения, следующее разрешения, кажется, хорошо: <использует-разрешение Android: имя = "ANDROID.PERMISSION .INSTALL_PACKAGES "/> – CyrBt
Могу ли я добиться бесшумной установки, если мое приложение подписано с signed.jar производителя и установлено как системное приложение? – beginner