泰安网站建设报价,商业设计包括哪些内容,网络工程师证书含金量,四川省德阳市建设招投标网站引用#xff1a;http://www.iteye.com/topic/696187 获取Launcher 启动列表 即 列出所有Launcher程序 通过PackageManager 来获取 [代码 步骤] 1. 定义内部类 LauncherItem 用于定义Application相关属性 比如#xff1a;图标 名称 以及 ComponentName Java代码 public clas…引用http://www.iteye.com/topic/696187 获取Launcher 启动列表 即 列出所有Launcher程序 通过PackageManager 来获取 [代码 步骤] 1. 定义内部类 LauncherItem 用于定义Application相关属性 比如图标 名称 以及 ComponentName Java代码 public class LauncherItem { Drawable icon; String name; ComponentName component; LauncherItem(Drawable d, String s,ComponentName cn){ icon d; name s; component cn; } }; 2. 定义ListLauncherItem lvalue 用于存放查询结果 Java代码 public void addLauncher(){ lvalue new ArrayListLauncherItem(); pkgMgt this.getPackageManager(); //to query all launcher load into List Intent it new Intent(Intent.ACTION_MAIN); it.addCategory(Intent.CATEGORY_LAUNCHER); ListResolveInfo ra pkgMgt.queryIntentActivities(it,0); for(int i0;ira.size();i){ ActivityInfo ai ra.get(i).activityInfo; //String ainfo ai.toString(); Drawable icon ai.loadIcon(pkgMgt); String label ai.loadLabel(pkgMgt).toString(); ComponentName c new ComponentName(ai.applicationInfo.packageName,ai.name); LauncherItem item new LauncherItem(icon,label,c); lvalue.add(item); } } 3. 定义LauncherAdapter 并指定各个item显示样式 Java代码 public class LauncherAdapter extends BaseAdapter { Activity activity; public LauncherAdapter(Activity a){ activity a; } Override public int getCount() { // TODO Auto-generated method stub return lvalue.size(); } Override public Object getItem(int arg0) { // TODO Auto-generated method stub return arg0; } Override public long getItemId(int position) { // TODO Auto-generated method stub return position; } Override public View getView(int position, View convertView, ViewGroup parent) { // TODO Auto-generated method stub return composeItem(position); } public View composeItem(int position){ LinearLayout layout new LinearLayout(activity); layout.setOrientation(LinearLayout.HORIZONTAL); ImageView iv new ImageView(activity); iv.setImageDrawable(lvalue.get(position).icon); layout.addView(iv); TextView tv new TextView(activity); tv.setText(lvalue.get(position).name); tv.setPadding(10, 5, 0, 0); layout.addView(tv); return layout; } } 4. 启动某个item 当单击时 Java代码 adapter new LauncherAdapter(this); lv.setAdapter(adapter); lv.setOnItemClickListener(new OnItemClickListener(){ Override public void onItemClick(AdapterView? arg0, View arg1, int arg2, long arg3) { // TODO Auto-generated method stub Intent intent new Intent(Intent.ACTION_VIEW); intent.setComponent(lvalue.get(arg2).component); startActivity(intent); } }); 5. emulator 结果结果 - 列出所有application - 单击Alarm Clock 的情形