제가 폰에 있는 application을 listview로 받아와서 click이벤트 받게 되면 그 application실행시킬수 있게
만들려고 하는데 intent부분을 어떻게 처리할지 몰라서 이렇게 올립니다~
고수님들의 조언좀 부탁해요~
제가 짠 소스 입니다.
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
displayApplications();
}
public void displayApplications() {
this.setListAdapter(new ArrayAdapter<String>(this,
android.R.layout.test_list_item, retrieveLabelList()));
retrieveLabelList().clear();
}
public ArrayList<String> retrieveLabelList() {
ArrayList<String> labelList = new ArrayList<String>();
labelList.clear();
PackageManager pm = this.getPackageManager();
List<ApplicationInfo> list = pm.getInstalledApplications(0);
Collections.sort(list, new ApplicationInfo.DisplayNameComparator(pm));
for (int index=0; index<list.size(); index++) {
ApplicationInfo content = list.get(index);
getPackageManager().getApplicationLabel(content);
labelList.add((String) getPackageManager().getApplicationLabel(content));
}
return labelList;
}
@Override
protected void onListItemClick (ListView l, View v, int position, long id) {
position = (int) getListView().getItemIdAtPosition(position);
PackageManager appInfo = getPackageManager();
List<ApplicationInfo> list = appInfo.getInstalledApplications(0);
Collections.sort(list, new ApplicationInfo.DisplayNameComparator(appInfo));
ApplicationInfo content = list.get(position);
String packageName = content.packageName;
Uri packageURI = Uri.parse(packageName);
Intent mainIntent = new Intent(Intent.ACTION_RUN,packageURI);
startNextMatchingActivity(mainIntent);
}
application목록까지는 받아오는데 그담에 intent가 실행이 안돼네여 ㅠㅠ