Попытка получить информацию Версии пакета для отображения в “О” сообщении

Я боролся с получением versionName для запущенного приложения от Типа объекта PackageInfo.

Я создал Интерфейс Parcelable со всеми полями, связанными с Типом объекта PackageInfo. Основной вход для того метода интерфейса является объектом Пакета.

Я, может казаться, не выясняю, как правильно связать эти Parcelable, Пакет и объекты PackageInfo.

Есть ли какой-либо пример кода там, что я могу посмотреть на? Не кажется, что это должно быть настолько трудно, но это, кажется, озадачивает меня.

Спасибо джаз

21
задан user313135 9 April 2010 в 08:51
поделиться

3 ответа

PackageInfo имя_версии является публичным элементом данных. Вам не нужно делать ничего особенного, чтобы получить «имя версии для запущенного приложения из типа объекта PackageInfo». Если у вас есть объект PackageInfo с именем info , вы получаете доступ к versionName через info.versionName .

4
ответ дан 16 October 2019 в 23:41
поделиться

Я использую следующий код для получения версии, используемой в манифесте. Я написал небольшую функцию, чтобы инкапсулировать и скрыть этот несколько большой кусок, необходимый для простого получения int.

private int getVersion() {
    int version = -1;
    try {
        PackageInfo pInfo = getPackageManager().getPackageInfo(getPackageName(), PackageManager.GET_META_DATA);
        version = pInfo.versionCode;
    } catch (NameNotFoundException e1) {
        Log.e(this.getClass().getSimpleName(), "Name not found", e1);
    }
    return version;
}

Это вернет int, выбранный для идентификации вашей версии на рынке (VersionCode). Не VersionName. Чтобы посмотреть, как изменить код для этого, взгляните на код из Casebash.

8
ответ дан 16 October 2019 в 23:41
поделиться

Пример кода:

try {
    PackageInfo packageInfo = getPackageManager().getPackageInfo(getPackageName(), 0);
    return packageInfo.versionName;
} catch (NameNotFoundException e) {
    //Handle exception
}
41
ответ дан 16 October 2019 в 23:41
поделиться
Другие вопросы по тегам:

Похожие вопросы: