Код: Выделить всё
com.google.android.packageinstaller/com.android.packageinstaller.InstallStart
Однако, когда устройства настроены в режиме киоска (режим блокировки задачи) через политику AMAPI, мое приложение больше не может отображать эту подсказку подтверждения. My PackageInstallerStatusReceiver правильно получает PackageInstaller.status_pending_user_action , и я пытаюсь запустить подтверждение, предоставленное системой:
kotlin
Код: Выделить всё
// Inside PackageInstallerStatusReceiver.kt
// ...
when (val status = intent.getIntExtra(PackageInstaller.EXTRA_STATUS, -1)) {
PackageInstaller.STATUS_PENDING_USER_ACTION -> {
val confirmationIntent = intent.getParcelableExtra(Intent.EXTRA_INTENT, Intent::class.java)
if (confirmationIntent != null) {
confirmationIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK)
// ... potentially other flags like FLAG_ACTIVITY_REQUIRE_DEFAULT ...
confirmationIntent.setPackage(TARGET_PACKAGE) // TARGET_PACKAGE is "com.google.android.packageinstaller"
// ... safe intent assertion ...
context.startActivity(confirmationIntent) // This line fails to display the UI
}
}
// ...
}
< /code>
Системные журналы (через ADB LogCat) Покажите попытку нарушения режима задачи блокировки, когда мое приложение пытается запустить подтверждение, подтверждая, что LockTaskMode не позволяет появиться подсказку: < /p>
Attempted Lock Task Mode violation r=ActivityRecord{61c1cc2 u0 com.google.android.packageinstaller/com.android.packageinstaller.InstallStart t-1}
Интересно, что другие сторонние приложения APK установщики, такие как com.uptodown.installer , способны отображать эту же подтверду Android.permission.Request_install_packages (среди прочего), но команда Dilmsys Package com.uptodown.installer команда на устройстве, в котором он функционирует, показывает android.permission.request_install_packages: предоставлено = false . Это также не представляется системным/привилегированным приложением (его CodePath IS/DATA/APP и PKGFLAGS не включает в себя системную или привилегированную).
Мои вопросы:
Какой конкретный механизм или привилегия выполняет приложение, такое как com.uptodown.installer , чтобы показать PackeplyStaller. com.google.android.packageinstaller.installStart Activity) Когда устройство находится в режиме киоскового режима, контролируемого AMAPI, без предоставления request_install_packages и без приложения для системного приложения? Достичь тот же пользовательский интерактивный поток установки в режиме киоска для не управляемых Google Play Apks? Если да, то какие конфигурации политики AMAPI или вызовы API Android необходимы?>
Подробнее здесь: https://stackoverflow.com/questions/797 ... ation-prom