Как получить номер версии Custom SW Android

У меня есть устройство Marshmallow. Он имеет специально созданное ПО. введите здесь описание изображения

Я видел файл build.prop. Там я вижу, что название версии программного обеспечения происходит от ro.custom.build.version.

введите здесь описание изображения

Мой вопрос: как я могу программно получить информацию «ro.custom.build.version» в своем приложении?


person Munir Hoque    schedule 17.01.2017    source источник
comment
см. stackoverflow.com/questions/20697008/   -  person sasikumar    schedule 17.01.2017
comment
проверьте этот stackoverflow.com/a/38569617/3421034   -  person Saurabh    schedule 17.01.2017
comment
Спасибо, @sasikumar .. это работает   -  person Munir Hoque    schedule 17.01.2017


Ответы (3)


Я получил ответ. Это очень просто. Во-первых, я создал функцию для чтения из SystemProperties.

public String getSystemProperty(String key) {
    String value = null;

    try {
        value = (String) Class.forName("android.os.SystemProperties")
                .getMethod("get", String.class).invoke(null, key);
    } catch (Exception e) {
        e.printStackTrace();
    }

    return value;
}

А затем вызвал функцию с "ro.custom.build.version" в качестве ключа

getSystemProperty("ro.custom.build.version");

Отдельное спасибо @sasikumar за подсказку

person Munir Hoque    schedule 17.01.2017

Вы должны сделать, как показано ниже:

PackageInfo pInfo = getPackageManager().getPackageInfo(getPackageName(), 0);
String version = pInfo.versionName;

Чтобы получить код версии, используйте, как показано ниже:

int verCode = pInfo.versionCode;
person ZaptechDev Kumar    schedule 17.01.2017
comment
Это не то, что он ищет - person Ryan; 17.01.2017
comment
Спасибо. Но ваш код получает версию из build.gradle моего приложения. Мне нужна пользовательская версия сборки - person Munir Hoque; 17.01.2017

Проверьте android.os.Build.VERSION. Вы можете использовать ИНКРЕМЕНТАЛЬНЫЙ.

person ʌɐɥqıɐʌ    schedule 17.01.2017