Android 获取打开文件的默认应用程序的图标

Android 获取打开文件的默认应用程序的图标,android,icons,mime-types,Android,Icons,Mime Types,我有一个特定文件的mime类型。我想获取打开文件的默认应用程序的图标。所以对于音乐,我会显示Winamp图标,如果这是我的默认音乐播放器。我该怎么做呢?用给定的mime类型和文件URI编写一个意图并调用它 大概是这样的: final Intent intent = new Intent(Intent.ACTION_VIEW); intent.setData(fileUri); intent.setType("image/png"); final List<ResolveInfo>

我有一个特定文件的mime类型。我想获取打开文件的默认应用程序的图标。所以对于音乐,我会显示Winamp图标,如果这是我的默认音乐播放器。我该怎么做呢?

用给定的mime类型和文件URI编写一个意图并调用它

大概是这样的:

final Intent intent = new Intent(Intent.ACTION_VIEW);
intent.setData(fileUri);
intent.setType("image/png");

final List<ResolveInfo> matches = getPackageManager().queryIntentActivities(intent, 0);
for (ResolveInfo match : matches) {
    final Drawable icon = match.loadIcon(getPackageManager());
    final CharSequence label = match.loadLabel(getPackageManager());
}
final Intent Intent=新意图(Intent.ACTION\u视图);
intent.setData(fileUri);
intent.setType(“image/png”);
最终列表匹配项=getPackageManager().QueryInputActivities(intent,0);
用于(ResolveInfo匹配:匹配){
最终可绘制图标=match.loadIcon(getPackageManager());
final CharSequence label=match.loadLabel(getPackageManager());
}

由于假期的关系,我没有上班,所以我将在周一发回,谢谢!这样可以获得默认图标。在我的应用程序中显示时,图标drawables周围的填充不同。我将它们显示在一个列表中,所以现在我必须找出如何获得统一的填充。