#android
#Android
Вопрос:
В моем приложении для Android мне нужно получить версию приложения программно. Но всякий раз, когда я пытаюсь использовать этот код, он выходит из строя в этой строке. Есть ли что-нибудь, чего мне не хватает
PackageInfo pinfo = getPackageManager().getPackageInfo(
this.getPackageName(), 0);
Я попытался получить его из PackageManager и PackageInfo. В обоих случаях приложение выходит из строя и запускает ViewRoot.handleMessage, и я получаю сообщение «Источник не найден».
Комментарии:
1. вы писали этот код в какой-либо деятельности?
2. Да, я добавил его в функцию.
3. вы пробовали мой код?
4. Зайдите в Logcat и опубликуйте журналы здесь; код выглядит в основном корректно, поэтому трудно определить, что происходит не так, не видя журналов сбоев.
5. Спасибо, Дэниел.. Проверит то же самое
Ответ №1:
Пожалуйста, попробуйте нижеприведенную функцию.
public int getVersion(Context context)
{
try
{
PackageInfo pInfo = context.getPackageManager().getPackageInfo("here.thenameofyour.package", PackageManager.GET_META_DATA);
return pInfo.versionCode;
}
catch (NameNotFoundException e)
{
return 0;
}
}
}
Комментарии:
1. Большое спасибо, Чираг Равал. Это помогло мне. Действительно хороший фрагмент кода.