获取当前栈顶的Activity
Posted 他叫小黑
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了获取当前栈顶的Activity相关的知识,希望对你有一定的参考价值。
如何获得当前栈顶的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”/>
以上是关于获取当前栈顶的Activity的主要内容,如果未能解决你的问题,请参考以下文章