how to get running applications icon on android programmatically

后端 未结 2 631
广开言路
广开言路 2020-12-06 15:16

Below here is my code but i am getting default android launcher icon for all running applications:

PackageManager pm = getPackageManager();

            Acti         


        
2条回答
  •  北荒
    北荒 (楼主)
    2020-12-06 15:45

    just replace this line

    ico = pm.getApplicationIcon(pName);
    

    to this

    ico = getApplicationInfo().loadIcon(getPackageManager()); 
    

    EDITED full code :

    public void getAllICONS() {
    
        PackageManager pm = getPackageManager();
    
        ActivityManager am1 = (ActivityManager) getSystemService(Context.ACTIVITY_SERVICE);
    
        List processes = am1
                .getRunningTasks(Integer.MAX_VALUE);
    
        if (processes != null) {
            for (int k = 0; k < 5; k++) {
                // String pkgName = app.getPackageName();
                String packageName = processes.get(k).topActivity
                        .getPackageName();
                Log.e("packageName-->", "" + packageName);
                Drawable ico = null;
                try {
                    String pName = (String) pm.getApplicationLabel(pm
                            .getApplicationInfo(packageName,
                                    PackageManager.GET_META_DATA));
                    name.add("" + pName);
                    ApplicationInfo a = pm.getApplicationInfo(packageName,
                            PackageManager.GET_META_DATA);
                    ico = getPackageManager().getApplicationIcon(
                            processes.get(k).topActivity.getPackageName());
                    getPackageManager();
                    Log.e("ico-->", "" + ico);
    
                } catch (NameNotFoundException e) {
                    Log.e("ERROR", "Unable to find icon for package '"
                            + packageName + "': " + e.getMessage());
                }
                // icons.put(processes.get(k).topActivity.getPackageName(),ico);
                icons.add(ico);
    
            }
        }
    }
    

    above code is show you icons like:

    enter image description here

提交回复
热议问题