【问题标题】:Force update for the latest version of android app强制更新最新版本的android应用
【发布时间】:2018-04-05 08:03:31
【问题描述】:

我正在尝试弄清楚如何从 Play 商店强制更新最新版本

由于我的 android 应用程序的旧版本已经在 Play 商店中,我没有实施检查以获取应用程序的当前版本并与链接 update android app forcefully 中指定的 Play 商店应用程序版本进行比较

我希望当我在 Play 商店上传我的新版本时,用户应该无法使用该应用,直到他 update the new version

你能帮帮我吗?

【问题讨论】:

标签: android google-play


【解决方案1】:

我必须做同样的事情,但我做了什么我会和你分享我希望这会对你有所帮助。

1> 我获得了我的应用程序的先前代码版本并将其存储在 string.xml 中。就像我的实时应用版本代码是 1。而我的新应用版本代码是 1.1。

此代码是告诉我们我们的应用版本代码。

        PackageInfo pinfo = getPackageManager().getPackageInfo(getPackageName(), 0);  
        int versionNumber = pinfo.versionCode;  
        String versionName = pinfo.versionName;  

2>比检查

if (newcodeversion > previouscodeversion) {

//打开任何活动或弹出 }

3> 在新的活动位置文本视图中显示“你有更新版本”和一个按钮。点击该按钮导航到谷歌游戏商店。

                Intent i = new Intent(Intent.ACTION_VIEW);
                i.setData(Uri.parse("Your application URL"));
                startActivity(i);  

【讨论】:

  • Play 商店中的旧版本没有此代码。现在我正在推出新版本,所以我希望用户强制更新应用程序。
  • 您的应用程序使用网络服务吗??
  • 是的,应用正在使用网络服务。
  • 好的,你的应用也有管理面板。所以创建一个 web 服务,它有你的新版本,比如 1.1。在我的后端,他们有我的应用旧版本代码。 "webservicename?version=" + "1.1" 在该网络服务的响应上,我正在检查是否相同。比如: if (mJsonObject.getString("update").equalsIgnoreCase("1")) { // update = mJsonObject.getString("update"); mendatory = mJsonObject.getString("mendatory"); item = mJsonObject.getString("item"); if (mendatory.equalsIgnoreCase("0")) { 新活动的意图 }
【解决方案2】:

如果比较 versionCode 和阻止用户的逻辑尚未放置在 PlayStore 上的当前应用中,则这是不可能的。

【讨论】:

    【解决方案3】:

    这并不难做到。简单地禁止用户拥有您的应用所负责的核心功能。

    例如,如果是通话应用,请进行版本检查,如果用户尚未更新,则完全限制使用通话。

    根据@pieter-b,取自Forcing Updates

    为此,应用使用的某种逻辑需要在您的控制之下。然后如果没有这部分逻辑,应用程序将无法运行 您可以显示一条消息:“您的应用程序已过期,请下载 新版本继续使用。”

    考虑一个流量通过您的服务器的信使应用程序。只是 拒绝传递使用过时版本的客户端的消息。

    另请参阅Force update android app when new version available

    【讨论】:

      猜你喜欢
      • 2021-08-04
      • 2013-09-20
      • 1970-01-01
      • 2015-07-19
      • 1970-01-01
      • 1970-01-01
      • 2013-10-21
      • 1970-01-01
      相关资源
      最近更新 更多