
이렇게해서 제 폰에 제가 깔은 패키지명이랑 클래스명을 받아와서 로그로 찍었는데

실행시킨 어플에 대한 패키지명이랑 클래스명이 아닌
com.sec.android.app.launch
com.android.launch2.launcher
라는 부분만 찍히더라구요..
어떻게 해야 제가 실행시킨 어플의 패키지명이랑 클래스명을
가져올 수 있을까요??ㅠㅠ
잘안보이실까봐 소스 넣겠습니다.
final ArrayList<String> arGeneral = new ArrayList<String>();
final ArrayList<String> pakcageNm = new ArrayList<String>();
final PackageManager pm = getPackageManager();
List<ApplicationInfo> list = pm.getInstalledApplications(0);
for (ApplicationInfo applicationInfo : list) {
String name = String.valueOf(applicationInfo.loadLabel(pm)); // 앱 이름
String pName = applicationInfo.packageName; // 앱 패키지
//Drawable iconDrawable = applicationInfo.loadIcon(pm); // 앱 아이콘
Intent intent = getPackageManager().getLaunchIntentForPackage(applicationInfo.packageName);
if (intent != null) {
arGeneral.add(name); //+" \n" + " [ " + pName + " ] "
pakcageNm.add(pName);
}
}
ArrayAdapter<String> adapter;
adapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, arGeneral);
ListView listView = (ListView) findViewById(R.id.listview);
listView.setAdapter(adapter);
listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
String mes;
mes = arGeneral.get(position) + " 이(가) 실행";
Toast.makeText(ProcessList.this, mes, Toast.LENGTH_SHORT).show();
PackageManager pm = getPackageManager();
Intent i = pm.getLaunchIntentForPackage(pakcageNm.get(position));
// 선택한 패키지 실행
ActivityManager activity_manager = (ActivityManager) getSystemService(Context.ACTIVITY_SERVICE);
List<ActivityManager.RunningTaskInfo> task_info = activity_manager.getRunningTasks(9999);
for (int z = 0; z < task_info.size(); z++) {
Log.d(" now Activity", " activity:" + task_info.get(z).topActivity.getPackageName());
Log.d(" now ClassName", " >> " + task_info.get(z).topActivity.getClassName());
Log.d(" pakcageNm", String.valueOf(pm.getLaunchIntentForPackage(pakcageNm.get(position))));
} // 선택한 어플의 패키지와 클래스 name값을 로그로 띄운다
i.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(i);
}
});