我想知道是否有人可以帮助我。我在我的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
属性。有谁知道这会怎么样?
我已经检查过上下文对象返回的包名是否是我的应用程序的正确名称
答案 0 :(得分:4)
我找到了答案。解决方案是使用
ApplicationInfo appInfo = context.getApplicationInfo();
String appName = (String) context.getPackageManager().getApplicationLabel(appInfo);
而不是它的工作