가능한 가장 높은 해상도의 활동 아이콘을 장치의 다른 앱에서 가져오고 싶지만 수행 방법을 파악할 수 없습니다. ......내 런쳐 - 응용 프로그램에서 다른 응용 프로그램의 high-dpi 활동 아이콘을 얻는 방법은 무엇입니까?
내 앱에서는 목록에서 하나의 활동을 선택할 수 있습니다. 장치에서 사용할 수있는 모든 활동과 해당 대상은 onActivityResult로 돌아갑니다.
Drawable icon = null;
ComponentName componentName = intent.getComponent();
String packageName = componentName.getPackageName();
PackageManager pm = this.getPackageManager();
icon = pm.getActivityIcon(intent);
내가 다음과 같이 최고 해상도로 앱 아이콘을 얻을 수 있습니다 :이 내가 이런 활동 아이콘을 얻을 수
PackageInfo pi = pm.getPackageInfo(packageName, 0);
Context otherAppCtx = this.createPackageContext(packageName, Context.CONTEXT_IGNORE_SECURITY);
int displayMetrics[] = { DisplayMetrics.DENSITY_TV, DisplayMetrics.DENSITY_HIGH, DisplayMetrics.DENSITY_XHIGH, DisplayMetrics.DENSITY_XXXHIGH };
for (int displayMetric : displayMetrics)
{
try
{
Drawable d = otherAppCtx.getResources().getDrawableForDensity(pi.applicationInfo.icon, displayMetric);
if (d != null)
{
icon = d;
}
}
catch (Resources.NotFoundException e)
{
continue;
}
}
그게 좋은를하지만 난 활동 아이콘을 얻을 싶어 해상도가 가장 높은 앱 아이콘이 아닙니다. 누구든지이 작업을 수행하는 방법을 알고 있습니까?
미리!
활동 아이콘으로 응용 프로그램 아이콘을 의미합니까? – tyczj
이 질문은 저작권을 침해하는 것이므로 주제와 관련이없는 것으로 보입니다. –
@tyczj 활동 아이콘이 없습니다. 예 : android의 contacs-app에는 여러 가지 활동이 있습니다. 그 중 하나는 전화 활동입니다. 전화 활동은 전화 기호 (게시 된 코드의 첫 번째 부분에 있음)가 있습니다. 하지만 app-icon은 "people"-icon입니다 (코드의 두 번째 부분에 있습니다). – treesoft