Android应用内更新API->立即更新问题

时间:2019-05-23 11:28:34

标签: android google-play-services in-app-update

开始尝试In-app updates。一切似乎都可以正常运行。

但是...在输入某些极端情况时,例如在下载更新过程中取消更新过程时,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)。我在if语句中称为finish(),因为这是必须更新的关键更新。

现在的问题是,第二次进入应用程序时,会再次触发onActivityResult,而不会显示来自应用程序内更新API的任何对话框,而只是在onActivityResult回调中返回请求/结果代码。

有类似问题的人吗?

1 个答案:

答案 0 :(得分:0)

似乎存在相同问题的未解决的错误。 https://issuetracker.google.com/issues/133092990。根据评论,其Play商店问题将在接下来的几周内发布。