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

5

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

1个回答

7

使用给定的MIME类型和文件URI组合意图,并在其上调用PackageManager.queryIntentActivities

可以像这样:

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());
}

我因为假期没有去上班,所以我会在周一回复,谢谢! - benkdev
这个方法可以获取默认图标。但是在我的应用中显示时,图标周围的填充不同。由于我将它们显示在列表中,所以现在我需要找出如何获得统一的填充。 - benkdev

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接