2013-06-13 2 views
1

Мне нужно получить идентификатор моего приложения. Есть ли способ сделать это?Получить значок значка приложения - Монодоид

Я знаю, что в PackageManager есть GetApplicationIcon, но это возвращает drawable. Как я могу получить идентификатор drawable?

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

Я думал о переходе через все ресурсы в Android, но я не уверен, как, и я думаю, что это будет дорого. Любой эффективный способ получить идентификатор значка?

EDIT: Я понимаю, что могу просто получить идентификатор ресурса из R.drawable.myicon, но я надеялся получить Id с использованием PackageManager или ApplicationContext.Resources.

EDIT # 2: Я получил его. См. Мой ответ ниже.

+0

Проверка: [Получение App Icon в Android] (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 (или другое имя, которое вы ему дали) должно представлять идентификатор, который вам нужен.

Смежные вопросы