繁体   English   中英

Google Play - 已安装应用内更新,但它一次又一次显示更新可用

[英]Google Play - In App Update is installed but it shows update available again and again

最近,我在我的应用程序中添加了应用程序更新功能,具有即时更新流程。 这是我正在检查并请求更新 MainActivity 的onCreate()

像这样初始化onCreate()中的变量

appUpdateManager = AppUpdateManagerFactory.create(this);
appUpdateInfoTask = appUpdateManager.getAppUpdateInfo();

在 onCreate() 中,我添加了这段代码

appUpdateInfoTask.addOnSuccessListener(appUpdateInfo -> {
            if (appUpdateInfo.updateAvailability() == UpdateAvailability.UPDATE_AVAILABLE && appUpdateInfo.isUpdateTypeAllowed(AppUpdateType.IMMEDIATE)) {
                Toast.makeText(app, "update available", Toast.LENGTH_SHORT).show();
                //update is available
                try {
                    appUpdateManager.startUpdateFlowForResult(appUpdateInfo, AppUpdateType.IMMEDIATE, this, Constant.APP_UPDATE_RQ_CODE);
                } catch (IntentSender.SendIntentException e) {
                    e.printStackTrace();
                    Log.e(TAG, "Update app error: " + e.getMessage());
                    Toast.makeText(app, e.getMessage(), Toast.LENGTH_SHORT).show();
                }
            }
        });

而 onActivityResult() 中的这段代码

@Override
    protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) {
        super.onActivityResult(requestCode, resultCode, data);
        if(requestCode == Constant.APP_UPDATE_RQ_CODE) {
            if (requestCode == RESULT_OK){
                //update is failed, request update again
                Toast.makeText(app, "this is called again and again!", Toast.LENGTH_SHORT).show();
                requestUpdateApp();
            }
        }
    }

问题是,在更新应用程序后,总是appUpdateInfo.updateAvailability() == UpdateAvailability.UPDATE_AVAILABLE真,这就是为什么在应用程序更新对话框中一次又一次地显示的原因。 请帮我解决这个问题。

对于无法从 Playstore 安装更新 apk 的任何人。 错误的不是你的代码,而是你测试这个库的方式。

  1. 您测试您的 function 并上传新闻稿(在添加应用程序更新库后)到带有增量版本代码和版本名称的 playstore。

  2. 然后你递减或 -1 你的版本和版本代码,然后构建新闻发布 apk 并尝试安装在你的设备中。 并显示更新,但安装失败。 成功安装后,您会发现您的版本代码 apk 与旧版本保持一致。 并一次又一次地弹出更新保持显示。

正确的测试方法是这样的:

  1. 您测试您的 function 并上传新闻稿(在添加应用程序更新库后)到带有增量版本代码和版本名称的 playstore。 从 Playstore 安装您的新闻版本

  2. 然后您增加或 +1 您的版本和版本代码,然后构建新闻发布 apk 或捆绑包并再次上传到带有新闻发布的 Playstore。

  3. 然后等待 apk 或 bundle live 在 playstore 中(直到你在 playstore 中看到“Update”),如果应用程序已经存在于 playstore 中,但你没有在你的应用程序中找到“update”。 您可以清除playstore中的所有数据并在playstore中再次打开您的应用程序,您会发现“更新”

  4. 打开你的apk,你会发现show pop up update,更新必须成功。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM