Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Android - How to get an icon of an app?

I am trying to display a list of task in this way -

Icon | ApplicationName | CheckBox

As i found that no listview adapter supports this so i decided to develop a custom adapter but i am unable to fetch the icon of an application. So far i tried this :-

public View getView(int position, View convertView, ViewGroup parent)
{
    View v = convertView;
    View row = inflater.inflate(R.layout.item, parent, false);
    CheckedTextView ctb = (CheckedTextView)row.findViewById(R.id.checkText);
    String pkgName = "com.abc.abc";

    ctb.setText("bla bla");
    ImageView iv = (ImageView)row.findViewById(R.id.image);
    List<PackageInfo> pkgs = activity.getPackageManager().getInstalledPackages(0);
    for(PackageInfo p : pkgs)
    {
       if(p.packageName.equals(pkgName))
       {
          Drawable d =  p.applicationInfo.loadIcon(pm);
           iv.setImageDrawable(d);
       }
    }

     return row;
}
}

And i am sure i am trying something stupid in this code. Please try to catch whatever i am doing wrong.

Thanks.

like image 390
Varundroid Avatar asked Dec 17 '22 15:12

Varundroid


1 Answers

You can get an app's (package's) icon with:

String pkg = "com.app.my";
Drawable icon = getContext().getPackageManager().getApplicationIcon(pkg);
like image 143
bigstones Avatar answered Dec 27 '22 12:12

bigstones