Сбой приложения Android в getPackageManager

#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. Большое спасибо, Чираг Равал. Это помогло мне. Действительно хороший фрагмент кода.