Android 检查播放当前版本的存储版本并显示更新对话框

Android 检查播放当前版本的存储版本并显示更新对话框,android,Android,我已经在playstore上发布了一个应用程序,现在我想在playstore上有新的apk时如何更新对话框 我得到了最新版本和最新版本 到现在为止,我尝试了以下代码 if (latestVersion != null && !latestVersion.isEmpty()) { if (Float.valueOf(currentVersion) < Float.valueOf(latestVersion)) { updat

我已经在playstore上发布了一个应用程序,现在我想在playstore上有新的apk时如何更新对话框

我得到了最新版本和最新版本

到现在为止,我尝试了以下代码

      if (latestVersion != null && !latestVersion.isEmpty()) {
        if (Float.valueOf(currentVersion) < Float.valueOf(latestVersion)) {
            update_dialog = new Dialog(MainActivity.this);
            update_dialog.setContentView(R.layout.update_dialog);
            update_dialog.setCancelable(false);
            TextView dd = (TextView) update_dialog.findViewById(R.id.udata);
            Button update = (Button) update_dialog.findViewById(R.id.btn_update);
            c_font = Typeface.createFromAsset(getAssets(), "fonts/CaviarDreams_Italic.ttf");
            dd.setTypeface(c_font);
            update.setTypeface(c_font);
            update.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View v) {
                    Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse("market://details?id=com.this.anything.unknown"));
                    startActivity(intent);
                }
            });
            update_dialog.show();
        } else {

        }
    }
if(latestVersion!=null&&!latestVersion.isEmpty()){
if(Float.valueOf(当前版本)
它工作正常,但现在我想设置版本1.2.0(两个点)。然后如何检查1.0(一个点)和1.2.0(两个点)


如何比较1.2.0和1.0或1.2.0和1.2.1对于您的问题,最简单的方法是通过将带有点的版本拆分为数组并比较每个数组元素来转换版本

String currentVersion = "1.1";
String latestVersion = "1.2.3";
String[] currentVersionArray = currentVersion.split("\\.");
String[] latestVersionArray = latestVersion.split("\\."); 

int minLength = Math.min(currentVersionArray.length, latestVersionArray.length);
boolean isUpgradeAvailable = false;

for(int i = 0; i < minLength; i++) {
    if(Integer.parseInt(currentVersionArray[i]) < Integer.parseInt(latestVersionArray[i])) {
        isUpgradeAvailable = true;
        break;
    }
}
if(!isUpgradeAvailable && minLength != latestVersionArray.length)
    isUpgradeAvailable = true;
String currentVersion=“1.1”;
字符串latestVersion=“1.2.3”;
字符串[]currentVersionArray=currentVersion.split(“\\”);
字符串[]latestVersionArray=latestVersion.split(“\\”);
int minLength=Math.min(currentVersionArray.length,latestVersionArray.length);
布尔值isUpgradeAvailable=false;
对于(int i=0;i
最好的方法是比较
versionCode
而不是
versionName
。您将在
Integer
表单中获得它。

当您想要通知用户更新应用程序时,您可以使用FCM通知,并且根据通知,您还可以管理版本名并将其与应用程序的当前版本名进行比较,并将通知数据存储在共享首选项中,每次您都可以使用当前版本名检查版本名就这样!!!如何从google play store获取版本?在您的算法中,2.0会高于1.0.1吗?20@LeosLiterak好消息+1你的评论。。但他需要把它定义为2.0.0,我想谢谢你的推荐。我会注意定义版本code@LeosLiterak谢谢你的案子。不知怎的错过了它。@Sourabbans即使我在以前的解决方案中在2.0.0中定义了它,但如果当前版本类似于1.2.11,并且大于2.0.0;,它也会失败。)简单地说,你不能。检查我对你的问题的评论。但您可以在自己的服务器上维护它。当您在google play store上更新应用程序时,请在您自己的服务器上更新您的版本。当网络启用时,您只需在每次打开应用程序时检查服务器。并执行该操作。