在我的Android应用程序中,我显示了安装的每个用户应用程序的列表。
一切运行正常,但如下面的代码中所述,调用icon = info.loadIcon(context.getPackageManager());
会导致两个恼人的警告。由于我正在加载设备上的每个应用程序,因此会生成大量警告,这些警告会向我的控制台发送垃圾邮件。
尽管有警告,但图标正在加载并显示正常。
我真的没有得到这个警告的来源。怎么调试呢?或者,可以禁用特定代码行的日志输出吗?
这是我的包装类:
public class AppWrapper {
public final Drawable icon;
public final String appLabel;
public final String packageName;
public AppWrapper(Context context, ResolveInfo info) {
//Warnings are produced here:
icon = info.loadIcon(context.getPackageManager());
/*
PackageManager: No package identifier when getting value for resource number 0x00000000
ResourceType: Failure retrieving resources for com.example.app: Resource ID #0x0
*/
appLabel = info.loadLabel(context.getPackageManager()).toString();
packageName = info.activityInfo.packageName;
}
}
非常感谢提前!
答案 0 :(得分:0)
icon = info.loadIcon(context.getPackageManager());
而不是
icon = context.getPackageManager().getApplicationIcon(info.activityInfo.applicationInfo.packageName);