获取当前栈顶的Activity

来源:互联网 发布:熊片数据库kfb 编辑:程序博客网 时间:2024/06/06 01:04

如何获得当前栈顶的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”/>
原创粉丝点击