android - 如何获取带有 Activity 名称的 Activity 图标

标签 android android-intent icons

我在加载带有 Activity 名称的 Activity 图标时遇到问题。

我有一个 pakcageName 和一个 Activity 名称,实际上是类名称

我想要获取 Activity 图标

    'private List<ResolveInfo> apps;
    private PackageManager pm;

    Intent mainIntent = new Intent(Intent.ACTION_MAIN, null);
    mainIntent.addCategory(Intent.CATEGORY_LAUNCHER);

    pm = getPackageManager();
    apps = pm.queryIntentActivities(mainIntent, 0);
    ResolveInfo info = apps.get(position);

    pn =  info.activityInfo.packageName
    na = info.activityInfo.name

    imageView.setImageDrawable(pm.getActivityIcon(new ComponentName(pn, na)));'

最佳答案

这应该可以做到:

public Drawable getActivityIcon(
        Context context, 
        String packageName, String activityName) {

    PackageManager packageManager = context.getPackageManager();

    Intent intent = new Intent();
    intent.setComponent(new ComponentName(packageName, activityName));
    ResolveInfo resolveInfo = packageManager.resolveActivity(intent, 0);

    return resolveInfo.loadIcon(packageManager);
}

关于android - 如何获取带有 Activity 名称的 Activity 图标,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28478931/

相关文章:

java - 为什么当 Intent 双值时我得到 null

android - Cordova 3.3.0 Android 图标不会在应用程序管理器中更新

java - 在 ListView 中,Android 可以加载多少列表项

javascript - 如何从 react-native 的异步函数中获取值(value)?

android - 火力地堡安卓 : Google Sign In Failure

Android ACTION_IMAGE_CAPTURE Intent

Android:在 Intent 过滤器中匹配主机模式

COCOA:NSStatusitem 图标在启动外部代码时消失

javascript - 如何将图标集成到路线标题旁边的菜单抽屉中

java - Android - 使用图像资源背景动态构建 UI 时发生内存泄漏