Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1567754
  • 博文数量: 237
  • 博客积分: 5139
  • 博客等级: 大校
  • 技术积分: 2751
  • 用 户 组: 普通用户
  • 注册时间: 2008-11-18 14:48
文章分类

全部博文(237)

文章存档

2016年(1)

2012年(4)

2011年(120)

2010年(36)

2009年(64)

2008年(12)

分类: 嵌入式

2011-11-02 21:26:18

Android系统内部状态信息的相关api:


得到ActivityManager :

ActivityManager activityManager = (ActivityManager)this.getSystemService(ACTIVITY_SERVICE)


这个位查到底是什么信息:   

ConfigurationInfo configurationInfo = activityManager.getDeviceConfigurationInfo();  


获取进程内存状态的信息:

Debug.MemoryInfo[] processMemoryInfo = activityManager.getProcessMemoryInfo(processIds);

  

获取当前运行的service信息:

List runningServiceInfos = activityManager.getRunningServices(MaxValue);   


获取当前运行的任务信息:
List runningTaskInfos = activityManager.getRunningTasks(MaxValue);
其中runningTaskInfos 的 topActivity就是当前Task的活跃Activity
在getRunningTasks()所返回的Task队列中系统会根据这些Task的活跃度有一个排序,越活跃越是靠前。第一个就是当前活动的Task


/**

* 检测某ActivityUpdate是否在当前Task的栈顶

*/

public boolean isTopActivy(String cmdName){
        ActivityManager manager = (ActivityManager) context.getSystemService(ACTIVITY_SERVICE);
        List runningTaskInfos = manager.getRunningTasks(1);
        String cmpNameTemp = null;


        if(null != runningTaskInfos){

                cmpNameTemp=(runningTaskInfos.get(0).topActivity).toString);

                Log.e("cmpname","cmpname:"+cmpName);

        }


       if(null == cmpNameTemp)return false;
       return cmpNameTemp.equals(cmdName);

}


最后在应用中添加所需的权限:

阅读(11661) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~