如何获得 Activity 名称为 Activity 的图标

How can I get Activity Icon with Activity name

我无法加载名称为 Activity 的 Activity 图标。

我有一个pakcageName和一个activity名字,实际上是class名字

我要获取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)));'

您可以通过以下方式找到您的应用程序图标:

1 - 检查您的清单您的应用程序图标

<application
    android:allowBackup="true"
    android:icon="@drawable/ic_launcher"
    android:label="@string/app_name"
    android:theme="@style/AppTheme" >

2 - 这样理解:

imageView.setImageDrawable(R.drawable.ic_launcher));

应该这样做:

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