본문 바로가기

안드로이드 개발

안드로이드에서 현재 최상위 Activity 값 알아보기

안드로이드 어플을 개발하면서

Activity중 어느 Activity가 현재 최상위에 나와있는지 조건문으로 확인을 하려고 했는데,

어디서 봐야할지를 몰라서 고민하던중 찾은 방법이다.

ActivityManager am = (ActivityManager)getSystemService(Context.ACTIVITY_SERVICE);
List<RunningTaskInfo> Info = am.getRunningTasks(1);
ComponentName topActivity = Info.get(0).topActivity;
String topactivityname = topActivity.getPackageName();

해당 소스를 작성한뒤

Log.d(TAGNAME, topactivityname);

위와 같이 로그를 찍어보면 최상위 Activity 명이 나오게 된다.

p.s : 위의 사항을 그냥 실행하려고 하면 에러가 발생하게 된다.
        Manifest 에서 아래의 user permission을 추가해 주어야 한다.
        android.permission.GET_TASKS