Hacking/Android Hacking

Android@ETC#How to get current foreground activity context in android?

hi0802 2017. 3. 29. 09:31


How to get current foreground activity context in android?

안드로이드 앱 진단 시 가끔 현재 Activity가 궁금해질때가 있습니다. 친절하게도 Android에서 제공하는 ActivityManager 클래스를 통해 확인할 수 있습니다. 역시나 제가 필요한건 누군가 먼저 만들었네요

 

What is the ActivityClass?

ActivityManager

public class ActivityManager 

extends Object 


This class gives information about, and interacts with, activities, services, and the containing process.


Script

아래 스크립트는 로그를 이용해서 현재 액티비티를 출력 해줍니다. 간단한 소스코드라 따로 설명이 필요없을 듯 하네요!

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
package com.bignerdranch.android.test;
 
import android.app.ActivityManager;
import android.content.ComponentName;
import android.content.Context;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.util.Log;
 
import java.util.List;
 
public class MainActivity extends AppCompatActivity {
 
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
 
        ActivityManager activity_manager = (ActivityManager)getSystemService(Context.ACTIVITY_SERVICE);
        List<ActivityManager.RunningTaskInfo> task_info = activity_manager.getRunningTasks(9999);
        for(int i=0; i<task_info.size(); i++) {
            Log.d("XXXXXXXXXX""[" + i + "] activity:"+ task_info.get(i).topActivity.getPackageName() + " >> " + task_info.get(i).topActivity.getClassName());}
    }
}
 
cs


참고

https://developer.android.com/reference/android/app/ActivityManager.html

http://stackoverflow.com/questions/11411395/how-to-get-current-foreground-activity-context-in-android

http://stackoverflow.com/questions/3873659/android-how-can-i-get-the-current-foreground-activity-from-a-service