본문 바로가기
프로그래밍/Android

Android 최상위 액티비티 확인 방법

by Mr-후 2018. 10. 31.
반응형


Android 최상위 액티비티 확인 방법




몇 일째 계속 안드로이드 책을 보며 학습중이다. 졸음과의 사투를 벌이며 꾸역 꾸역 읽고 나가는 중인데 어느듯 20장까지 읽어왔다. 너무 졸려 바람을 쐴까 하다 유용할 것 같은 팁이 나오길래 정리해 두고자 한다. 

현재 앱의 최상위 화면(액티비티)이 어떤건지 확인하는 코드인데 안드로이드 시스템서비스 중 하나인 ActivityManager의 getRunningTasks() 함수를 이용하여 판단할 수 있다. 


ActivityManager manager = (ActivityManager)getsystemService(Activity.ACTIVITY_SERVICE); 
//api level 21....deprecated... 

List<ActivityManager.RunningTaskInfo>list = manager.getRunningTasks(1); 
ActivityManager.RunningTaskInfo info = list.get(0); 

if (info.topActivity.getClassName().equals("com.example.MainActivity")) {

//....

} else {

//.... 

}

topActivity.getClassName()함수로 구하면 된다. deprecated되었지만 하위 호환성을 목적으로 계속 사용할 수 있고  앱 Task정보를 구하기 위해서는 퍼미션이 필요하다. 

<uses-permission android:name="andorid.permission.GET_TASKS" /> 



반응형