ActivityManager--获取栈顶Activity及其所属进程,activitymanager
//获取栈顶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"/>
android 在外围, 怎得到栈顶acitivity的 context
不知道下面的方法是否满足您的问题:
在栈顶Activity中调用外围类中的一个方法时,把栈顶Activity的context传递过去。