개발을 하다 보면 한 화면에서 여러 개의 액티비티를 불러와서 쓰는 경우가 있습니다. 각 액티비티마다 처리해야 하는 명령이 다를 경우 분기해서 처리를 해줘야 하는데 이때 현재 띄워져 있는 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 이름으로 출력됩니다.
반응형
그리드형
'IT > Android' 카테고리의 다른 글
[Android] Cross-app Scripting 리젝 해결 방법 (0) | 2021.03.25 |
---|---|
Error running 'app': Default Activity not found 에러 해결 방법 (0) | 2021.03.24 |
[안드로이드] api 수준 29 변경하는 방법 (0) | 2020.11.03 |
Execution failed for task ':app:mergeExtDexDebug' 오류 해결방법 (0) | 2020.09.29 |
[Android] 카카오톡 친구목록 api 사용 중 "there are no assigned team members in your app" 오류 해결 방법 (0) | 2020.07.22 |
윈도우에서 firebase SHA 인증서 확인하는 방법 (0) | 2020.07.04 |
'keytool'은(는) 내부 또는 외부 명령, 실행할 수 있는 프로그램, 또는 배치 파일이 아닙니다. 해결방법 (4) | 2020.07.04 |
안드로이드 android.view.view android.app.activity.findviewbyid(int)' on a null object reference 오류 해결 방법 (0) | 2020.06.08 |