API обновления Android -> Проблема немедленного обновления - PullRequest
1 голос
/ 23 мая 2019

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

Но ... при вводе некоторых крайних случаев, таких как, например, отмена процесса обновления в процессе загрузки обновления, 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.

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

1 Ответ

0 голосов
/ 06 июня 2019

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...