API обновления Android -> Проблема немедленного обновления

Начал экспериментировать с обновлениями в приложении. Кажется, все работает префект.

Но... при вводе некоторых крайних случаев, таких как, например, отмена процесса обновления в процессе загрузки обновления, API по какой-то причине перестает работать, как предполагалось.

Пример: я начинаю свою деятельность и первым делом в onResume() я делаю это:

//In app update code. Only works for Android 5.0 and above.
if (Build.VERSION.SDK_INT >= 21) {
    AppUpdateManager appUpdateManager = AppUpdateManagerFactory.create(this);
    Task<AppUpdateInfo> appUpdateInfoTask = appUpdateManager.getAppUpdateInfo();
    appUpdateInfoTask.addOnSuccessListener(appUpdateInfo -> {
                    if (appUpdateInfo.updateAvailability() == UpdateAvailability.UPDATE_AVAILABLE) {
                        try {
                            appUpdateManager.startUpdateFlowForResult(appUpdateInfo, AppUpdateType.IMMEDIATE, this, 1333);
                        } catch (IntentSender.SendIntentException e) {
                            e.printStackTrace();
                        }
                    } else if (appUpdateInfo.updateAvailability() == UpdateAvailability.DEVELOPER_TRIGGERED_UPDATE_IN_PROGRESS) {
                        // If an in-app update is already running, resume the update.
                        try {
                            appUpdateManager.startUpdateFlowForResult(appUpdateInfo, AppUpdateType.IMMEDIATE,this, 1333);
                        } catch (IntentSender.SendIntentException e) {
                            e.printStackTrace();
                        }
                    }
    });
 }

Когда я нажимаю кнопку "Обновить" и появляется экран для обновления, я немедленно отменяю обновление. Он возвращает с onActivityResult код запроса (1333) и код результата (STATUS_UNKNOWN = 0) . Я вызываю finish() в этом операторе if, потому что это критическое обновление, которое необходимо обновить.

Проблема заключается в том, что при повторном входе в приложение onActivityResult запускается снова, не показывая никакого диалога из API обновления в приложении и просто возвращая код запроса / результата в обратном вызове onActivityResult.

Кто-нибудь с похожей проблемой?

0 ответов

Похоже , есть открытая ошибка для той же проблемы. https://issuetracker.google.com/issues/133092990. Согласно комментарию, это проблема Play-store, которая будет выпущена в ближайшие несколько недель.

Другие вопросы по тегам