如何获得当前栈顶的Activity?
总的步骤是:
1. 得到当前运行环境(context)的Activity管理器;
2. 通过Activity管理器得到当前的任务栈信息;
3. 从任务栈中获得栈顶的Activity的名称。
ActivityManager manager = (ActivityManager)mContext.getSystemService(Context.ACTIVITY_SERVICE);
List<ActivityManager.RunningTaskInfo> runningTaskInfos = manager.getRunningTasks(1);
if(runningTaskInfos != null && runningTaskInfos.size() > 0){
String shortClassName = runningTaskInfos.get(0).topActivity.getShortClassName(); //类名
String className = runningTaskInfos.get(0).topActivity.getClassName(); //完整类名
String packageName = runningTaskInfos.get(0).topActivity.getPackageName(); //包名
}
在AndroidManifest.xml中增加权限:
<uses-permission android:name = “android.permission.GET_TASKS”/>