따라서, 나는 사용자가 응용 프로그램 이름을 선택했을 때 내가 검색 할 수 있습니다 (텍스트 뷰와 이미지 뷰와 사용자 정의 어댑터를 사용) ListView에 내 패키지 이름을 저장할 수있는 방법이있다.
데이터가 이미 사용자 지정 어댑터에 있습니다. this sample project에서, 당신은 아마도에 ArrayAdapter
을 사용하는 List<ResolveInfo>
당신은 queryIntentActivities()
에서 돌아 오기 :
그렇다면, 당신은 정보를 얻을 수 (AppAdapter extends ArrayAdapter<ResolveInfo>
경우)
이
List<ResolveInfo> launchables=pm.queryIntentActivities(main, 0);
Collections.sort(launchables, new ResolveInfo.DisplayNameComparator(pm));
adapter=new AppAdapter(pm, launchables);
당신이 어댑터에서 응용 프로그램을 실행해야 :
@Override
protected void onListItemClick(ListView l, View v,
int position, long id) {
ResolveInfo launchable=adapter.getItem(position);
ActivityInfo activity=launchable.activityInfo;
ComponentName name=new ComponentName(activity.applicationInfo.packageName,
activity.name);
Intent i=new Intent(Intent.ACTION_MAIN);
i.addCategory(Intent.CATEGORY_LAUNCHER);
i.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK |
Intent.FLAG_ACTIVITY_RESET_TASK_IF_NEEDED);
i.setComponent(name);
startActivity(i);
}