
개발을 하다 보면 한 화면에서 여러 개의 액티비티를 불러와서 쓰는 경우가 있습니다. 각 액티비티마다 처리해야 하는 명령이 다를 경우 분기해서 처리를 해줘야 하는데 이때 현재 띄워져 있는 Activity를 알아내는 방법입니다.
ActivityManager manager = (ActivityManager) getSystemService(Context.ACTIVITY_SERVICE);
List<ActivityManager.RunningTaskInfo> info = manager.getRunningTasks(1);
ComponentName componentName= info.get(0).topActivity;
String ActivityName = componentName.getShortClassName().substring(1);
ActivityManager를 사용해서 가장 최상단에 있는 엑티비티를 string 형태로 가져옵니다. 스트링 변수 ActivityName을 이용해서 분기하여 사용하시면 될 것 같습니다. 확인 결과 java class 이름으로 출력됩니다.
반응형
그리드형