获取应用程序图标ID - Monodroid

时间:2013-06-13 03:37:24

标签: c# android xamarin.android

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

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

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

我正在考虑循环遍历Android中的所有资源,但我不确定如何,而且我认为它会很昂贵。我可以通过任何有效的方式获得图标ID吗?

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

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

3 个答案:

答案 0 :(得分:3)

R.drawable.ic_launcher(或您提供的其他名称)应代表您需要的ID。

答案 1 :(得分:1)

好吧,因为它是你的应用程序,你可以查看你的清单。您的图标会显示在<application>标记的android:icon标记中。只需查看该文件,看看它的内容。

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

答案 2 :(得分:1)

好的,我明白了。

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