0

我正在尝试为我用 java 编写的 android 应用程序实现应用程序内更新对话框。

为检查是否有可用更新而截取的代码取自android 开发者页面。它在 Main 活动的 onResume() 方法中调用。

private void checkForUpdate() {
        AppUpdateManager appUpdateManager = AppUpdateManagerFactory.create(this);

// Returns an intent object that you use to check for an update.
        Task<AppUpdateInfo> appUpdateInfoTask = appUpdateManager.getAppUpdateInfo();

// Checks that the platform will allow the specified type of update.
        appUpdateInfoTask.addOnSuccessListener(appUpdateInfo -> {
            Log.d(TAG, "AppUpdateInfo: " + appUpdateInfo);
            if (appUpdateInfo.updateAvailability() == UpdateAvailability.UPDATE_AVAILABLE
                    // can be changed to AppUpdateType.INTERMEDIATE
                    && appUpdateInfo.isUpdateTypeAllowed(AppUpdateType.FLEXIBLE)) {
                // Request the update.
                try {
                    appUpdateManager.startUpdateFlowForResult(
                            // Pass the intent that is returned by 'getAppUpdateInfo()'.
                            appUpdateInfo,
                            // Or 'AppUpdateType.FLEXIBLE' for flexible updates.
                            AppUpdateType.IMMEDIATE,
                            // The current activity making the update request.
                            this,
                            // Include a request code to later monitor this update request.
                            APP_UPDATE_REQUEST_CODE);
                } catch (IntentSender.SendIntentException e) {
                    e.printStackTrace();
                }

            }
        });
    } 

我通过 Google Play Console 发布新的应用程序版本。有两个封闭的测试轨道:

  • 开发跟踪 -> 用户:开发人员,当前版本:105
  • 测试人员跟踪 -> 用户:测试人员,当前版本:99

将 AppUpdateInfo 打印到开发者设备的 Logcat 中时,availableVersionCode 为 88。同时当前版本(105)出现在 Google Play Store 中。

D/MainActivity:AppUpdateInfo:AppUpdateInfo{packageName=package.app,availableVersionCode=88,updateAvailability=1,installStatus=0,clientVersionStalenessDays=null,updatePriority=0,bytesDownloaded=0,totalBytesToDownload=0,additionalSpaceRequired=0,assetPackStorageSize=0, immediateUpdateIntent=null,flexibleUpdateIntent=null,immediateDestructiveUpdateIntent=null,flexibleDestructiveUpdateIntent=null}

过去有一个版本 88,因为版本增加了 1,但目前只有版本 105 和 99 处于活动状态。

现在我想知道为什么 AppUpdateInfo 没有收到最新版本 105。如前所述,更新是通过 Google Play 控制台进行的。我的猜测是,应用内更新功能仅接收通过Google Play Developer API提交的更新信息。

有没有人遇到过同样的问题并且可以证实我的猜测?任何帮助是极大的赞赏。

4

0 回答 0