android获取用户当前正在打开的应用程序的信息

需要用到ActivityManager. getRunningTasks(int maxNum)

public     List<ActivityManager.RunningTaskInfo>      getRunningTasks(int maxNum)

API介绍说:

Return a list of the tasks that are currently running, with the most recent being first and older ones after in order.  Note that "running" does not mean any of the task's code is currently loaded or activity -- the task may have been frozen by the system, so that it can be restarted in its previous state when next brought to the foreground.

maxNum          The maximum number of entries to return in the list.  The actual number returned may be smaller, depending on how many tasks the user has started.

当我们把1传递给maxNum时,返回的就是当前运行的那个TASK,然后就可以从task中获取最顶层的activity,此activity就是当前显示给用户那个activity。

1ActivityManager am = (ActivityManager) getSystemService(ACTIVITY_SERVICE); 
2ComponentName cn = am.getRunningTasks(1).get(0).topActivity; 
3Log.d("", "pkg:"+cn.getPackageName()); 
4Log.d("", "cls:"+cn.getClassName());
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值