Получить значок приложения по умолчанию, которое открывает файл - PullRequest
5 голосов
/ 24 ноября 2011

У меня есть MIME-тип определенного файла. Я хочу получить значок приложения по умолчанию, которое открывает файл. Что касается музыки, я бы отобразил значок Winamp, если бы это был мой музыкальный проигрыватель по умолчанию. Как я могу это сделать?

1 Ответ

7 голосов
/ 24 ноября 2011

Составьте намерение с указанным 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());
}
...