http://www.it165.net/pro/html/201405/14692.html html
package come.on; import java.util.List; import java.io.FileReader; import android.os.Process; import java.io.IOException; import java.io.BufferedReader; import android.widget.EditText; import android.content.Context; import java.io.InputStreamReader; import android.app.ActivityManager; import android.content.ComponentName; import android.app.ActivityManager.MemoryInfo; import android.app.ActivityManager.RunningTaskInfo; import android.app.ActivityManager.RunningAppProcessInfo; /** * 文檔描述: * * 包括內容: * 1 判斷棧頂Activity名及其所屬進程名 * * 注意權限: * <uses-permission android:name="android.permission.GET_TASKS"/> * <uses-permission android:name="android.permission.KILL_BACKGROUND_PROCESSES" /> * * 文檔日期: * 2014年5月30日10:01:55 * */ public class UtilsTool { //獲取當前進程名 public static String getCurrentProcessName(Context context) { int pid = android.os.Process.myPid(); ActivityManager activityManager = (ActivityManager) context.getSystemService(Context.ACTIVITY_SERVICE); for (RunningAppProcessInfo runningAppProcessInfo : activityManager.getRunningAppProcesses()) { if (runningAppProcessInfo.pid == pid) { String processName=runningAppProcessInfo.processName; return processName; } } return null; } //獲取棧頂Activity名稱 public static String getTopActivityName(Context context) { String topActivityName = null; ActivityManager activityManager = (ActivityManager) (context.getSystemService(android.content.Context.ACTIVITY_SERVICE)); List<RunningTaskInfo> runningTaskInfos = activityManager.getRunningTasks(1); if (runningTaskInfos != null) { ComponentName f = runningTaskInfos.get(0).topActivity; String topActivityClassName = f.getClassName(); String temp[] = topActivityClassName.split("\\."); topActivityName = temp[temp.length - 1]; } return topActivityName; } //獲取棧頂Activity所屬進程的名稱 public static String getTopActivityProcessName(Context context) { String processName = null; ActivityManager activityManager = (ActivityManager) (context.getSystemService(android.content.Context.ACTIVITY_SERVICE)); List<RunningTaskInfo> runningTaskInfos = activityManager.getRunningTasks(1); if (runningTaskInfos != null) { ComponentName componentName = runningTaskInfos.get(0).topActivity; String topActivityClassName = componentName.getClassName(); int index = topActivityClassName.lastIndexOf("."); processName = topActivityClassName.substring(0, index); } return processName; }
命令行得到Android手機當前棧頂的Activityjava
adb shell dumpsys activity | findstr mFocusedActivity mFocusedActivity: ActivityRecord{29492877 u0 com.tencent.news/.ui.MainActivity2 t5616}
命令行得到Android手機當前棧頂的Activitypython
adb shell am monitor Monitoring activity manager... available commands: (q)uit: finish monitoring ** Activity starting: com.tencent.news ** Activity resuming: com.tencent.news