【问题标题】:Android - Open play store for update doesn't ask to updateAndroid - 打开 Play 商店进行更新不要求更新
【发布时间】:2014-01-19 14:37:42
【问题描述】:

我在我的应用中插入了一些代码来检查是否有可用的新版本。

如果有,用户会收到一个对话框,询问他是否要更新。

一切正常,但问题是即使 Play 商店显示当前可用版本是 1.1,并且用户拥有 1.0 版本,它仍然要求“启动”或“卸载”应用程序,并且不显示任何更新按钮。

这是有问题的,因为用户将不断收到更新对话框,并将被重定向到未显示任何更新版本的页面。

这是我的代码:

if (!lastVersion.equals(actualVersion)){

                DialogInterface.OnClickListener dialogClickListener = new DialogInterface.OnClickListener() {
                    @Override
                    public void onClick(DialogInterface dialog, int which) {
                        switch (which){
                        case DialogInterface.BUTTON_POSITIVE:
                            //Yes button clicked
                            try {
                                Intent intent = new Intent(Intent.ACTION_VIEW);
                                intent.setData(Uri.parse("market://details?id=com.xxx.yyy"));
                                startActivity(intent);
                            } catch (android.content.ActivityNotFoundException anfe) {
                                startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse("http://play.google.com/store/apps/details?id=com.xxx.yyy")));
                            }
                            break;

                        case DialogInterface.BUTTON_NEGATIVE:
                            //No button clicked
                            if (force_update){
                                android.os.Process.killProcess(android.os.Process.myPid());
                            }
                            break;
                        }
                    }
                };

【问题讨论】:

  • 如果您返回并再次单击该按钮,是否也是如此?因为我知道市场App中的App页面很多时候是可以缓存的,所以要查看更新版本需要退出重新进入App页面获取新版本?同样出于好奇,您如何检查新版本?您自己的 API 或通过解析/询问市场?
  • @NicklasGnejsEriksson 嘿,感谢您抽出宝贵时间帮助我。因此,即使我关闭所有内容,单击返回并再次访问它,仍然是同样的问题。我已经尝试了所有我能想到的。至于版本检查,我做了一些非常简单的事情。我的服务器上有一个 php 文件,它呈现一个 json 对象,其中包含最后一个版本、一个 force_update 变量、一条消息和我想在不需要更新的情况下管理的其他一些参数。然后我从我的应用程序中检索此对象并将版本字符串与应用程序版本进行比较。如果相等,则什么都不做,否则,显示对话框。
  • 如果不是缓存,那么我不确定它实际上是什么。您是否尝试过使用“search?q=pname:yourpackage”进行搜索,然后手动进入 App 页面查看是否有更新?或者,如果您只是在 Play 商店中手动进行全面检查?啊,我明白了,你自己的 API。 :) 对不起,我帮不上什么忙^^ 祝你好运 :)
  • 我找到了问题,我会回答我自己的问题:)

标签: android eclipse google-play version updates


【解决方案1】:

我已经解决了自己的问题。

事实上,由于我已经修改了我的应用程序并在手机上对其进行了测试,因此我试图获得更新建议,我猜想某些东西,也许是 apk 签名,与在 play 商店上发布的 apk 无关。

我尝试从商店安装 apk 1.0 版,然后,Play 商店向我显示了更新按钮。

【讨论】:

  • 所以你测试的版本不是来自市场?是的,这可能会解释它,因为你不能从非市场版本更新到应用程序的市场版本^^祝你好运!
  • @NicklasGnejsEriksson 是的,这是我的第一个 android 应用更新,所以下次我会知道的 :)
  • 你能给我代码吗,因为我面临同样的问题
【解决方案2】:

我们可以使用这个请求https://androidquery.appspot.com/api/market?app=com.instagram.android获取最新版本

但如果我们的应用程序被阻止,我们会收到 500 错误

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-12-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-12-17
    • 1970-01-01
    相关资源
    最近更新 更多