일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- LG유플러스
- UIView
- 포켓몬 GO
- 페이백
- GCD
- Bitcode
- swift
- 앱스토어
- 신도림
- Example
- loop
- 보라카이
- 얻는법
- UITableView
- 신도림 테크노마트
- swift3
- 샘플
- afterdelay
- push
- 공략
- 포켓볼
- error
- 스마트폰
- 해몽
- IOS
- Xcode
- simulator
- Check
- 아이폰7
- setting
- Today
- Total
도래울
[안드로이드] Android 에서 현재 화면 top 에 있는 activity 알아내기. 본문
ActivityManager activityManager = (ActivityManager) mContext.getSystemService(mContext.ACTIVITY_SERVICE);
List<RunningTaskInfo> info;
info = activityManager.getRunningTasks(7);
for (Iterator iterator = info.iterator(); iterator.hasNext();) {
RunningTaskInfo runningTaskInfo = (RunningTaskInfo) iterator.next();
if(runningTaskInfo.topActivity.getClassName().equals("com.android.ABCApplication.ABCApplication")) {
Log.e("ABCApplication","ABCApplication is running");
return true;
}
}
쉽게 말하면 위에 getRunningTasks 에서 7개의 Acitivity 를 가지고 옵니다. 물론 실행중인 Activity 가 7개보다 적으면 실행되고 있는 모든 Activity 를 가지고 옵니다. 이렇게 가지고 온 Activity 에서 ABCApplication이 있으면 return true; 한 것입니다. 위에서 7 대신에 1을 사용하면 바로 최고 위에 실행중인 Activity 를 가지고 올 수 있는 것입니다.
다음과 같은 방법으로 패키지 및 패키지의 하위 클래스도 확인 할수 있습니다.
String pkgName = runningTaskInfo.topActivity.getPackageName();
String className = runningTaskInfo.topActivity.getClassName();
if((pkgName.equals("com.company.android.app.ABCPackage"))&& (className.equals("com.company.android.app.ABCPackage.abc.ABCClass"))) {
..
.
.
. 어쩌구저쩌구..;;
}
'개발 > Android' 카테고리의 다른 글
Android GPS State 확인 (0) | 2016.02.05 |
---|---|
[Android] 파일 입출력 하기 (0) | 2016.02.05 |
[Android] Thread 구현하기 1/2 (with ProgressBar) (0) | 2016.02.05 |
[안드로이드] Activity가 실행되는 동안 화면 안꺼지게 하기 (0) | 2016.02.05 |
ActivityManager - 실행 중인 다른 어플리케이션 종료 시키기 (0) | 2016.02.05 |