Android - ResourceNotFoundException для метки приложения - PullRequest
2 голосов
/ 27 сентября 2011

Мне интересно, может ли кто-нибудь мне помочь.Я получаю ResourceNotFoundException в моем приложении для Android.Это происходит при выполнении следующего кода (исключение происходит при вызове getString())

        context = getApplicationContext();
        PackageInfo pInfo = context.getPackageManager().getPackageInfo(context.getPackageName(), 0);
        String appName = context.getString(pInfo.applicationInfo.labelRes);

В моем AndroidManifest.xml у меня установлен атрибут android:label для тегов приложения и activtiy.

Когда я использую отладчик, я вижу, что объект PackageInfo.ApplicationInfo содержит значение 0 для labelRes, и это объясняет исключение.

Странно то, что значение, которое я установил для атрибута android:label в AndroidManifest.xml, содержится в атрибуте nonLocalizedLabel.Кто-нибудь знает, как это могло произойти?Я проверил, что имя пакета, возвращаемое объектом контекста, является правильным для моего приложения

1 Ответ

4 голосов
/ 31 октября 2011

Я нашел ответ на это.Решением было использовать

        ApplicationInfo appInfo = context.getApplicationInfo();
        String appName = (String) context.getPackageManager().getApplicationLabel(appInfo);

вместо этого, и это сработало

...