获取当前activity
2015-10-30 09:55
197 查看
转自http://www.eoeandroid.com/thread-42812-1-1.html?_dsign=6aa5e83e
源码学习:http://blog.csdn.net/caowenbin/article/details/6036726
用ActivityManager里面可以获取到当前运行的所有任务,所有进程和所有服务,这是任务管理器的核心。
仔细看getRunningTasks的文档,里面说获取的是系统中"running"的所有task,"running"状态包括已经被系统冻结的task。而且返回的这个列表是按照顺序排列的,也就是说第一个肯定比第二个后运行。
getRunningTasks有个整型参数,表示返回列表的最大个数。那么,我们如果把1作为参数给进去,那么他返回的task就是当前运行的那个task,然后从task中获取到最顶层的activity,这个activity就是当前显示给用户的那个activity了。
ActivityManager am = (ActivityManager) getSystemService(ACTIVITY_SERVICE);
ComponentName cn = am.getRunningTasks(1).get(0).topActivity;
Log.d("", "pkg:"+cn.getPackageName());
Log.d("", "cls:"+cn.getClassName());
源码学习:http://blog.csdn.net/caowenbin/article/details/6036726
用ActivityManager里面可以获取到当前运行的所有任务,所有进程和所有服务,这是任务管理器的核心。
仔细看getRunningTasks的文档,里面说获取的是系统中"running"的所有task,"running"状态包括已经被系统冻结的task。而且返回的这个列表是按照顺序排列的,也就是说第一个肯定比第二个后运行。
getRunningTasks有个整型参数,表示返回列表的最大个数。那么,我们如果把1作为参数给进去,那么他返回的task就是当前运行的那个task,然后从task中获取到最顶层的activity,这个activity就是当前显示给用户的那个activity了。
ActivityManager am = (ActivityManager) getSystemService(ACTIVITY_SERVICE);
ComponentName cn = am.getRunningTasks(1).get(0).topActivity;
Log.d("", "pkg:"+cn.getPackageName());
Log.d("", "cls:"+cn.getClassName());
相关文章推荐
- htmlUnit使用简介(爬虫)
- 常用电源管理稳压IC
- 文件/文件夹比较工具 beyond compare 3.3.10
- C# 连接SQL Server数据库的连接字符串<转>
- 计算字符串的最长回文子串 :Manacher算法介绍
- 区别父试图和子视图的点击事件
- github优秀开源项目大全-iOS
- 祝福您,亲爱的妈妈
- Subversion和TortoiseSVN安装与配置
- Java注解(Annotation)详解(一)——概述及JDK自带注解
- javascript学习心得
- uitextfield 左侧图片
- Java生成10个随机数,填充一个数组,用消息框显示数组内容,后求和输出
- 如何在CentOS 7上安装Percona服务器
- (高级篇 Netty多协议开发和应用)第十四章-私有协议栈开发
- ehhe
- C++实现逐行从文本文件读取数据
- nodejs之gulp自动化构建工具
- Linux 下如何安装 JDK ,以 Ubuntu 为例。
- python第一章1.1.3 列表