在一个项目中,我需要查找用户是否正在使用android 4.2.1及更高版本。请帮忙

我有android verion作为java中的String。我知道我可以不使用正则表达式来执行此操作,但是我只需要使用正则表达式来尝试

我可以使用类似

Version = "4.2.2"
if(version.matches("[4-99]\\.[2-99]\\.[0-99]")) {
    return true;
} else {
    return false
}


这在Android 5.0.0发布之前有效,此后直到5.2.0失败

最佳答案

您可以获得具有2或3个级别的RELEASE版本:分别为major,minor和build:

String myVersion = android.os.Build.VERSION.RELEASE;

    String osMajor = "0";
    String osMinor = "0";
    String osBuild = "0";

    if(myVersion.matches("[0-9]+.[0-9]+.[0-9]+")){
        osMajor = myVersion.split("\\.")[0];
        osMinor = myVersion.split("\\.")[1];
        osBuild = myVersion.split("\\.")[2];
    }
    else if(myVersion.matches("[0-9]+.[0-9]+")){
        osMajor = myVersion.split("\\.")[0];
        osMinor = myVersion.split("\\.")[1];

    }

07-26 09:29