마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

현재 실행중인 앱 정보 가져오기

0 추천
현재 카카오톡을 ForeGround에서 실행중이면 com.kakao.talk 라는 패키지명을 얻어와야하는데 안되네요..

getTask(), getRunningAppProcesses() 등의 메소드도 롤리팝 이후로는 효력이 없는듯 합니다 ㅠㅠ

혹시 롤리팝 이후 버전에서 실행중인 어플 패키지명을 가져오려면 어떻게 해야하는지 아시는 분 있나요??

서비스명은 잘 가져오는데 포그라운드 실행 앱 이름은 못가져옵니당..

구글링말고 직접 구현해보신 분만 답변 부탁드립니다 ㅠㅠ
핸디 (1,840 포인트) 님이 2016년 11월 11일 질문

1개의 답변

0 추천
 
채택된 답변
보안의 이유로 롤리팝 이후로는 주요 어플리케이션 정보 외의 정보는 알수 없다고 들었습니다.

제가 아는 방법으로 총 3가지가 있는데

첫번째는 AccessibilityService를 이용하는 방법이 있고

두번째는 UsageStatsManager를 사용하는 방법이 있고

세번째는 리눅스 커맨드인 "ps" 명령어를 이용하는 방법이 있습니다.

1, 2 번째는 사용자로부터 권한 및 서비스 실행을 요구하여야 하지만 3번째는 이를 요구할 필요가 없습니다.

다만 3번째 방법은 정식 레퍼런스를 이용하지 않고 리눅스 System함수를 사용하여야 하는 부분이라 막힐수도 있는 부분이 있습니다.

이 3가지 방법 모두 제가 해본 방법입니다.
Development Guy (70,570 포인트) 님이 2016년 11월 11일 답변
핸디님이 2016년 11월 17일 채택됨
3번째 방법 참고할만한 링크 있으면 알려주시면 감사하겠습니다 ㅠㅠ
...