1

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

我知道PackageManager中有GetApplicationIcon,但这会返回一个drawable。如何获取可绘制对象的 ID?

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

我正在考虑遍历 Android 中的所有资源,但我不确定如何,而且我认为它会很昂贵。有什么有效的方法可以获取图标 ID?

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

编辑#2:我明白了。请看下面我的回答。

4

3 回答 3

3

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

于 2013-06-13T03:46:45.677 回答
2

好的,我明白了。

Intent intent = context.PackageManager.GetLaunchIntentForPackage(context.PackageName);
ResolveInfo resolveInfo = context.PackageManager.ResolveActivity(intent, PackageInfoFlags.MatchDefaultOnly);
int appIcon = resolveInfo.IconResource;
于 2013-06-13T11:08:52.097 回答
1

好吧,既然它是您的应用程序,您只需查看清单即可。您的图标出现在<application>标签的android:icon属性中。只要看看那个文件,看看它说了什么。

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

于 2013-06-13T03:43:12.673 回答