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

ben*_*dev 5 icons android mime-types

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

Ser*_*nko 7

使用给定的mime类型和文件URI组合一个intent,并在其上调用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());
}
Run Code Online (Sandbox Code Playgroud)