如何以编程方式查找 Android 版本名称? [英] How to find the Android version name programmatically?

查看:25
本文介绍了如何以编程方式查找 Android 版本名称?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我写这样的代码来查找Android版本

I write code for finding the Android version like this

String version=Build.VERSION.RELEASE;

通过使用此代码,我得到了版本号,但我想要版本名称.如何获取版本名称?

by using this code I am get the version number but I want version name. how to get the version name?

推荐答案

如前所述,反射似乎是这个问题的关键.StringBuilder 和额外的格式不是必需的,添加它只是为了说明用法.

As suggested earlier, reflection seems to be the key to this question. The StringBuilder and extra formatting is not required, it was added only to illustrate usage.

import java.lang.reflect.Field;
...

StringBuilder builder = new StringBuilder();
builder.append("android : ").append(Build.VERSION.RELEASE);

Field[] fields = Build.VERSION_CODES.class.getFields();
for (Field field : fields) {
    String fieldName = field.getName();
    int fieldValue = -1;

    try {
        fieldValue = field.getInt(new Object());
    } catch (IllegalArgumentException e) {
        e.printStackTrace();
    } catch (IllegalAccessException e) {
        e.printStackTrace();
    } catch (NullPointerException e) {
        e.printStackTrace();
    }

    if (fieldValue == Build.VERSION.SDK_INT) {
        builder.append(" : ").append(fieldName).append(" : ");
        builder.append("sdk=").append(fieldValue);
    }
}

Log.d(LOG_TAG, "OS: " + builder.toString());

在我的 4.1 模拟器上,我得到以下输出:

On my 4.1 emulator, I get this output:

D/MainActivity( 1551): OS: android : 4.1.1 : JELLY_BEAN : sdk=16

享受吧!

这篇关于如何以编程方式查找 Android 版本名称?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆