//获取栈顶Activity及其所属进程 public static String getTopActivityNameAndProcessName(Context context){ String processName=null; 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("\\."); //栈顶Activity的名称 topActivityName=temp[temp.length-1]; int index=topActivityClassName.lastIndexOf("."); //栈顶Activity所属进程的名称 processName=topActivityClassName.substring(0, index); System.out.println("---->topActivityName="+topActivityName+",processName="+processName); } return topActivityName+","+processName; }
注意权限:
<uses-permission android:name="android.permission.GET_TASKS"/>