Android 可提取资源的资源ID

Android 可提取资源的资源ID,android,drawable,Android,Drawable,我可以在listview中获取已安装应用程序的名称列表,但添加图标时遇到问题。我创建了一个新的xml布局并包含了一个imageview 我使用下面的方法来检索图标 appInfo.icon = p.applicationInfo.loadIcon(getPackageManager()); 要加载应用程序信息,我使用了 HashMap<String,String>. HashMap。 据我所知,我可以使用 HashMap<String,Integer>

我可以在listview中获取已安装应用程序的名称列表,但添加图标时遇到问题。我创建了一个新的xml布局并包含了一个imageview

我使用下面的方法来检索图标

appInfo.icon = p.applicationInfo.loadIcon(getPackageManager());
要加载应用程序信息,我使用了

HashMap<String,String>.    
HashMap。
据我所知,我可以使用

HashMap<String,Integer>    
HashMap
然后只需将可绘制资源ID发送到Imageview即可


如何获取可绘制对象的资源Id?

在应用程序中获取可绘制对象的int:

int yourInt = getResources().getIdentifier(fileName, "drawable", getPackageName());
从其他应用程序获取图标:


如何获取图标的文件名?哦,很抱歉误读了你的问题,我会稍后更新我的答案,因为你需要其他应用的图标。这不是我要问的,而是通过使用pm.getApplicationInfo(pkg,0)链接解决了这个问题;显示如何获取给定包名的图标。