| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 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 |
- 안드로이드
- javascript
- 안드로이드 푸쉬
- soundpool
- 안드로이드 gcm
- php 취약점
- UML
- dovecot
- C# IO
- 안드로이드 푸시
- mysql
- chart.js
- 자바스크립트
- android 효과음
- 자동 생성
- PHP
- C#
- Mail Server
- html5
- curl
- 우분투
- roundcube
- Android
- not working
- WebView
- php 시큐어코딩
- xe
- 설치
- FCM
- 폼메일
- Today
- Total
그러냐
현재 실행 중인 액티비티 얻어오기. 본문
살다보면 안드로이드에서 현재 실행 중인 액티비티를 알고 싶을 때가 있다.
아래의 함수는 현재 실행 중인 액티비티(백그라운드/포그라운드)의 리스트를 얻어올 수 있다.
void getRunActivity() {
ActivityManager activity_manager = (ActivityManager)getSystemService(Context.ACTIVITY_SERVICE);
List<RunningTaskInfo> task_info = activity_manager.getRunningTasks(9999);
for(int i=0; i<task_info.size(); i++) {
Log.d(log_tag, "[" + i + "] activity:"+ task_info.get(i).topActivity.getPackageName() + " >> " + task_info.get(i).topActivity.getClassName());
}
}
<uses-permission android:name="android.permission.GET_TASKS"/>퍼미션을 추가하자.
주의 할 점은 현재 실행 중인 어플의 이름이 아니라,
현재 실행 중인 액티비티의 정보라는 것이다.
즉, topActivity.getPackageName() 코드는 백그라운드/포그라운드 에서 실행 중인 어플의 현재 최상위 액티비티 정보를 가져온다.
만약 A라는 게임에서 광고가 나오고 있다면 이 정보는 광고의 액티비티 정보가 나온다는 점에 유의.
또한 안드로이드 매니페스트의 패키지 네임이 아니라, 해당 클래스가 속한 패키지 네임을 가져오는 것에 유의.
출처: http://codeticker.tistory.com/entry/Android-현재-실행-중인-액티비티-얻어오기 [CodeTicker]
'android' 카테고리의 다른 글
| SoundPool을 이용한 안드로이드의 효과음 재생 예제 (0) | 2017.07.05 |
|---|---|
| SoundPool play not working (LG폰이 안되는줄) (0) | 2017.07.05 |
| PendingIntent Activity가 이미 실행되어 있는 경우 (0) | 2017.06.22 |
| PendingIntent flag 의 의미 (0) | 2017.06.22 |
| 안드로이드 stopservice nullpointerexception (0) | 2017.06.21 |