如何获取带活动名称的活动图标

do-*_*ung 2 icons android android-intent

我在使用活动名称加载活动图标时遇到问题.

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

我想得到活动图标

    '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)));'
Run Code Online (Sandbox Code Playgroud)

Ras*_*ove 9

这应该这样做:

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);
}
Run Code Online (Sandbox Code Playgroud)