相关疑难解决方法(0)

获取在设备上运行的应用程序图标

我有一个列表活动,显示设备中所有正在运行的应用程序.它显示所有应用程序的默认图标.但我需要为列表中的每个应用程序获取实际应用程序图标.

public class ApplicationList extends ListActivity {
DataHelper dh;
ImageView vi;
private Drawable icon;
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.applist);
    dh = new DataHelper(getApplicationContext());

    PackageManager pm = this.getPackageManager();

    Intent intent = new Intent(Intent.ACTION_MAIN, null);
    intent.addCategory(Intent.CATEGORY_LAUNCHER);

    Log.d("Test1", "INSERTING APP LIST TO SERVER DB");
     List<ResolveInfo> list = pm.queryIntentActivities(intent, PackageManager.PERMISSION_GRANTED);
     ArrayList<String> applist = new ArrayList<String>();

     for(ResolveInfo rInfo: list){

        applist.add(rInfo.activityInfo.applicationInfo.loadLabel(pm).toString() );
    }


    ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,
            R.layout.installedapp, R.id.textView1, applist);
    setListAdapter(adapter);
}
Run Code Online (Sandbox Code Playgroud)

如何获取其他应用程序的图标(Android) 我尝试了这个链接,但我没有解决问题.所以任何人都可以帮助我.谢谢!

icons android listview

5
推荐指数
1
解决办法
4573
查看次数

如何以编程方式在android上运行应用程序图标

下面是我的代码,但我得到所有正在运行的应用程序的默认android启动器图标:

PackageManager pm = getPackageManager();

            ActivityManager am1 = (ActivityManager) getSystemService(Context.ACTIVITY_SERVICE);

            List<RunningTaskInfo> processes = am1.getRunningTasks(Integer.MAX_VALUE);

                if (processes != null) {
                    for (int k = 0; k < processes.size(); k++) {
                        // String pkgName = app.getPackageName();
                        String packageName = processes.get(k).topActivity
                                .getPackageName();
                        Drawable ico = null;
                        try
                        {
                         String pName = (String) pm.getApplicationLabel(pm
                                .getApplicationInfo(packageName,
                                        PackageManager.GET_META_DATA));

                            ico = pm.getApplicationIcon(pName);

                        } 
                        catch (NameNotFoundException e) 
                        {
                            Log.e("ERROR", "Unable to find icon for package '"
                                    + packageName + "': " + e.getMessage());
                        }
                        icons.put(processes.get(k).topActivity.getPackageName(),ico);
                    }
Run Code Online (Sandbox Code Playgroud)

android

3
推荐指数
1
解决办法
8718
查看次数

标签 统计

android ×2

icons ×1

listview ×1