获取当前栈顶的Activity

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/u013082948/article/details/75631131

如何获得当前栈顶的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”/>
展开阅读全文

没有更多推荐了,返回首页