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