Как использовать установщик пакетов по умолчанию (Android) при попытке установить APK из другого приложения?

Я пытался установить другие приложения из моего приложения. Я загрузил .apk с сервера и запускаю намерение со следующим содержимым

Intent installIntent = new Intent(Intent.ACTION_INSTALL_PACKAGE);

installIntent.setData(Uri.parse("file:<apk file location>"));
installIntent.putExtra(Intent.EXTRA_INSTALLER_PACKAGE_NAME, DOWNLOADED_PACKAGE_NAME);
installIntent.putExtra(Intent.EXTRA_NOT_UNKNOWN_SOURCE, true);
installIntent.putExtra(Intent.EXTRA_RETURN_RESULT, true);

startActivityForResult(installIntent, REQUEST_INSTALL); 
  • Но я застрял с установкой установщика по умолчанию при попытке установить пакет.
  • Следующее приглашение отображается после того, как мое намерение установить запущено, попросите пользователя выбрать приложение по умолчанию для обработки нежелательного намерения.
  • Это приглашение не должно быть показано пользователю.
  • Желаемое поведение — начать установку пакета после завершения загрузки, как это делает Google Play.
  • Нажата кнопка «Установить» -> «Загрузить» -> «Спросить разрешение» -> «Установить».

Как избежать этой подсказки?

Эта функция была добавлена ​​ТОЛЬКО с версии 4.2.

введите здесь описание изображения


person Akh    schedule 22.08.2013    source источник


Ответы (1)


Задача решена.

    Intent intent = new Intent(Intent.ACTION_VIEW);
    intent.setClassName("com.android.packageinstaller", "com.android.packageinstaller.PackageInstallerActivity");
person Ricky    schedule 17.01.2014