안녕하세요.

삼성 핸드폰을 보면 Program moniter 라는 위젯이 있는데요.

 

똑 같은 것을 만들어 보고 싶습니다.

 

UI 구성이나 list는 어느정도 만들어 졌는데

* 실행 중인 프로그램(패키지)을 알 수 있는 방법을 전혀 못찾겠습니다.

 

제가 시도해본 것은,

  ArrayList<ResolveInfo> resolveInfoList
   = (ArrayList<ResolveInfo>)pm.queryIntentActivities(intent, PackageManager.GET_ACTIVITIES);

이건 설치된 패키지를 전부 가져오더라구요..

그 외에도 PacakgeManager 에 있는 API를 대부분 사용해봤는데 원하는 결과값을 얻을 수 없었습니다.

 

그리고,

    List<RunningTaskInfo> list = am.getRunningTasks(50);
    List<RunningServiceInfo> list3 = am.getRunningServices(50);
    List<RunningAppProcessInfo> list2 = am.getRunningAppProcesses();

이렇게도 시도를 해봤고,

넘어온 클래스 중에 RunningAppProcessInfo.IMPORTANCE_BACKGROUND 이런 부분도

상수를 바꿔가면서 체크해봤는데 원하는 결과값이 나오지 않았습니다.

 

아직 제가 알지 못하는 API가 있다거나, 단순히 1차적으로 API를 사용해서 얻을 수 있는 부분인지는 모르겠지만..

조언을 부탁 드리겠습니다.

 

참고로 갤럭시S의 program moniter 위젯을 켜놓고 제 어플과 비교테스트를 했습니다.