일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 자동 생성
- 안드로이드 푸시
- UML
- Android
- soundpool
- dovecot
- html5
- 안드로이드 gcm
- C# IO
- php 시큐어코딩
- 자바스크립트
- mysql
- curl
- 설치
- chart.js
- 안드로이드
- C#
- Mail Server
- not working
- roundcube
- android 효과음
- WebView
- xe
- PHP
- javascript
- php 취약점
- 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 |