Android - 应用程序标签的ResourceNotFoundException

时间:2011-09-27 11:29:16

标签: android android-manifest

我想知道是否有人可以帮助我。我在我的Android应用程序中得到一个ResourceNotFoundException。 运行以下代码时会发生此问题(getString()调用上发生异常)

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

在我的AndroidManifest.xml中,我为应用程序和激活标记设置了android:label属性。

当我 使用调试器我可以看到PackageInfo.ApplicationInfo对象包含labelRes的值0,这解释了异常。

奇怪的是,我为android:label中的AndroidManifest.xml属性设置的值包含在 nonLocalizedLabel属性。有谁知道这会怎么样? 我已经检查过上下文对象返回的包名是否是我的应用程序的正确名称

1 个答案:

答案 0 :(得分:4)

我找到了答案。解决方案是使用

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

而不是它的工作