0

我想在我的列表视图中添加来自getPackageManager. 我尝试了类似的东西:

try {
            // Icon
            Drawable icon = pm.getApplicationIcon(info.processName);
            Drawable default_icon = pm.getDefaultActivityIcon();

            CharSequence c = pm.getApplicationLabel(pm.getApplicationInfo(info.processName, PackageManager.GET_META_DATA));
            Log.w("LABEL", "Name" + c.toString());
            String pName = info.processName;
            adapter.add(icon + c.toString().toUpperCase() + "\n" + info.processName);
          }

但它只返回一个字符串。如果可能的话,我想要图标而不是字符串。这可能吗?

4

1 回答 1

0

在您的列表视图适配器中使用此行来获取应用程序图标

  PackageInfo packageInfo = (PackageInfo) getItem(position);
    Drawable appIcon =  packageManager.getApplicationIcon(packageInfo.applicationInfo);
    String appName = packageManager.getApplicationLabel(
            packageInfo.applicationInfo).toString();
    appIcon.setBounds(0, 0, 40, 40);
    holder.apkName.setCompoundDrawables(appIcon, null, null, null);
    holder.apkName.setCompoundDrawablePadding(15);
    holder.apkName.setText(appName);

请参阅下面的站点以获取完整的源代码

http://theopentutorials.com/tutorials/android/listview/how-to-get-list-of-installed-apps-in-android/

于 2013-10-29T11:04:57.533 回答