2013-06-13 111 views
1

我需要获取我的应用程序图标的int id。有什么办法可以做到这一点?获取应用程序图标Id - Monodroid

我知道在PackageManager中有GetApplicationIcon,但是这返回一个drawable。我怎样才能得到drawable的Id?

Drawable drawable = ApplicationContext.PackageManager.GetApplicationIcon(applicationInfo); 

我想通过在Android中所有的资源循环的,但我不知道怎么了,我认为这将是昂贵的。任何有效的方式,我可以得到图标ID?

编辑:我明白,我可以很容易地从R.drawable.myicon获得资源ID,但我希望通过使用PackageManager或ApplicationContext.Resources获取Id。

编辑#2:我明白了。请参阅下面的答案。

+0

检查:获取应用程序图标在安卓(http://stackoverflow.com/questions/4600740/getting-app-icon-in-android) –

回答

1

好的,我明白了。

Intent intent = context.PackageManager.GetLaunchIntentForPackage(context.PackageName); 
ResolveInfo resolveInfo = context.PackageManager.ResolveActivity(intent, PackageInfoFlags.MatchDefaultOnly); 
int appIcon = resolveInfo.IconResource; 
+0

请把它标记为一个答案,如果你的问题解决了您的问题:http://meta.stackexchange.com/a/5235 – Cheesebaron

1

那么,因为它是你的应用程序,你可以看看你的清单。您的图标出现在<application>标记中,android:icon属性中。看看这个文件,看看它说了什么。

你不需要编程,只需要自己做一次。

3

R.drawable.ic_launcher(或其他名称,你给它)应该代表你需要的id。

相关问题