获取当前activity

转自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了。

 

  1. ActivityManager am = (ActivityManager) getSystemService(ACTIVITY_SERVICE);
  2. ComponentName cn = am.getRunningTasks(1).get(0).topActivity;
  3. Log.d("", "pkg:"+cn.getPackageName());
  4. Log.d("", "cls:"+cn.getClassName());
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值