Android labelRes 为 0
Android labelRes is 0
我正在使用 int stringID = context.getApplicationInfo().labelRes
获取应用程序名称资源 ID。然后我使用 context.getString(stringID)
来获取应用程序名称。
我得到
W/ResourceType: No package identifier when getting value for resource number 0x00000000
android.content.res.Resources$NotFoundException: String resource ID #0x0
知道为什么 labelRes 是 0 吗?
试试这个可能对你有帮助
public static String getApplicationName(Context context) {
ApplicationInfo applicationInfo = context.getApplicationInfo();
int stringId = applicationInfo.labelRes;
return stringId == 0 ? applicationInfo.nonLocalizedLabel.toString() : context.getString(stringId);
}
String appName=getApplicationName(context);
我能够通过在使用 manifestPlaceholders
从 Gradle 构建文件传递标签之前在 strings.xml
中指定标签来解决此问题。
第三方库中的问题是他们不检查 applicationInfo.lableRes
是否为 0。
我正在使用 int stringID = context.getApplicationInfo().labelRes
获取应用程序名称资源 ID。然后我使用 context.getString(stringID)
来获取应用程序名称。
我得到
W/ResourceType: No package identifier when getting value for resource number 0x00000000
android.content.res.Resources$NotFoundException: String resource ID #0x0
知道为什么 labelRes 是 0 吗?
试试这个可能对你有帮助
public static String getApplicationName(Context context) {
ApplicationInfo applicationInfo = context.getApplicationInfo();
int stringId = applicationInfo.labelRes;
return stringId == 0 ? applicationInfo.nonLocalizedLabel.toString() : context.getString(stringId);
}
String appName=getApplicationName(context);
我能够通过在使用 manifestPlaceholders
从 Gradle 构建文件传递标签之前在 strings.xml
中指定标签来解决此问题。
第三方库中的问题是他们不检查 applicationInfo.lableRes
是否为 0。