2013-06-13 2 views
1

내 응용 프로그램 아이콘의 int id를 가져와야합니다. 내가 이것을 할 수있는 방법이 있습니까?응용 프로그램 아이콘 가져 오기 Id - Monodroid

나는 PackageManager에 GetApplicationIcon이 있다는 것을 알고 있지만 drawable을 반환합니다. 드로어 블의 이드를 어떻게 얻을 수 있습니까?

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

나는 안드로이드의 모든 리소스를 반복적으로 생각하고 있었지만 어떻게 될지 잘 모르겠다. 비싸다고 생각한다. 아이콘 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를 나타내야합니다.

관련 문제