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" />
'프로그래밍 > Android' 카테고리의 다른 글
갤러리 앱 데이터 연동(ContentProvider) (0) | 2018.11.01 |
---|---|
설치된 앱 목록 조회(PackageManager) (0) | 2018.10.31 |
Failed to resolve: play-services-basement (0) | 2018.10.30 |
안드로이드 키보드 숨김/보임 처리 (0) | 2018.10.25 |
다양한 구글 기본 앱 연동 (with INTENT call) (0) | 2018.10.24 |