当前位置: 首页 > news >正文

[Android] Android ActivityManager

2019独角兽企业重金招聘Python工程师标准>>> hot3.png

android.app.ActivityManager

这个类主要用来管理所有设备上的Activities。

权限:android.permission.GET_TASKS

1.List<ActivityManager.RecentTaskInfo>       getRecentTasks(int maxNum, int flags)  

  返回用户最近使用过的应用程序信息集合。第一个参数是最大数量,第二个参数在API11前只有ActivityManager.RECENT_WITH_EXCLUDED。这个方法以后可能会被废弃,谷歌推荐用来debug用。

   (1) RecentTaskInfo类,主要有些字段

     Intent      baseIntent   得到能跳转到这个Task的Activity,即能通过这个Intent启动这个Intent指向的程序。

     int           id                    得到这个Task的标识,如果是-1,则标识这个程序没启动,其他数字表示启动了。

2.List<ActivityManager.RunningAppProcessInfo>           getRunningAppProcesses()

   返回设备上正在运行的程序的进程集合。

   (1)RunningAppProcessInfo类,主要有些字段

      int     importance   这个字段的值如果为IMPORTANCE_FOREGROUND (100)时表示为前段运行的进程,为IMPORTANCE_BACKGROUND(400)表示后台运行。其值还有一些其他的。

     int     importanceReasonCode  对进程进行解释的字段,有3个值 REASON_UNKNOWN(0) 、REASON_PROVIDER_IN_USE(1)、REASON_SERVICE_IN_USE(2)。分别表示没原因、程序中的content provider被其他程序使用、与前一个理由一样。

     int    importanceReasonPid   当 importanceReasonCode  的值不为0时这个字段代表1.2中其他程序的PID值,否则值为0。

     ComponentName     importanceReasonComponent     当 importanceReasonCode  中值不为0时,这个字段代表1.2中其他程序的 ComponentName,否则为null。

     int     pid    进程的PID值。

     int   uid    user id.

     String    processName   进程名,实际等于包名(content provider免疫)。

     String[]     pkgList    程序内所有主包,这个测试出来,一般程序都只有一个元素,但系统自带的程序并且有content provider的有几个包。

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

     返回正在运行中的程序,参数为返回的最大个数,返回的顺序为  最近打开的程序,即优先返回最新使用的程序。返回值可能为空。

   (1)RunningTaskInfo类,主要提供字段

      ComponentName        baseActivity    代表登陆的Activity的 ComponentName,即可以用这个返回值启动这个所代表的程序。

      int               id                    A unique identifier for this task.

      int         numActivities     Number of activities in this task.

        int          numRunning         Number of activities that are currently running (not stopped and persisted) in this task.

       ComponentName         topActivity    存在栈顶的Activity所代表的 ComponentName。用户可以用这个方法得到现在正在显示的Activity的 ComponentName。

ActivityManager am = (ActivityManager) context.getSystemService(Context.ACTIVITY_SERVICE);  
ComponentName cn = am.getRunningTasks(1).get(0).topActivity;


    


 4.void    killBackgroundProcesses (String packageName)

    杀死后台进程,参数为要被杀的程序的(主)包名。需要权限android.permission.KILL_BACKGROUND_PROCESSES。

5. List<ActivityManager.RunningServiceInfo>           getRunningServices(int maxNum) 

      得到所有正在运行的service。

  (1)RunningServiceInfo类,主要提供字段。

    long       activeSince    第一次启动这个service到现在所过的时间段。

    int           pid              进程的PID

    int   uid    user id.

   String      process    进程名(包名?)。

   long     lastActivityTime  最后一次激活Service到现在的时间

   ComponenName     service    得到这个Service的组件名,就是能通过这个启动service

    long   restarting     这个字段的值如果不是0,那么现在这个service还没启动,将在返回值的时间段过后自启动。

6. void    restartPackage (String packageName)

     现在这个方法等于方法killBackgroundProcesses了,调用这个方法等于在调用方法killBackgroundProcesses.需要权限android.permission.RESTART_PACKAGES。


转载于:https://my.oschina.net/u/242041/blog/199139

相关文章:

  • Apache Storm 衍生项目之1 -- storm-yarn
  • Excel中日期时间的计算及表达方式
  • SAP ABAP exporting list to memory ...SUBMIT 程序传输屏幕参数
  • JVM学习笔记之终:MyEclipse调优
  • 2014年北京高端网站建设怎样对待移动互联
  • Spring3系列10- Spring AOP——Pointcut,Advisor拦截指定方法
  • 使用升腾linux瘦客户机连接xendesktop实现USB KEY映射时,需要修改的文件。
  • 图解Team Foundation Server 2013系列
  • 制作 Windows 8.1 ADK 离线安装包
  • AsyncTask异步加载跟listview的结合
  • Raphael入门实例:动画与箭头
  • Activity加载模式
  • Ubuntu下Alt+Tab快捷键不能用解决办法
  • Google Scholar 论文参考文献的自动生成
  • discuz X2.5自己写代码,获取当前登录的用户信息
  • 【EOS】Cleos基础
  • ES6简单总结(搭配简单的讲解和小案例)
  • Java方法详解
  • MySQL Access denied for user 'root'@'localhost' 解决方法
  • Mysql数据库的条件查询语句
  • PHP的Ev教程三(Periodic watcher)
  • Sass Day-01
  • spark本地环境的搭建到运行第一个spark程序
  • Yii源码解读-服务定位器(Service Locator)
  • 初识MongoDB分片
  • 飞驰在Mesos的涡轮引擎上
  • 基于HAProxy的高性能缓存服务器nuster
  • 解析带emoji和链接的聊天系统消息
  • 开年巨制!千人千面回放技术让你“看到”Flutter用户侧问题
  • 可能是历史上最全的CC0版权可以免费商用的图片网站
  • 利用jquery编写加法运算验证码
  • 一个普通的 5 年iOS开发者的自我总结,以及5年开发经历和感想!
  • Spring Batch JSON 支持
  • 移动端高清、多屏适配方案
  • ​​​​​​​​​​​​​​Γ函数
  • ​ssh免密码登录设置及问题总结
  • $.ajax,axios,fetch三种ajax请求的区别
  • $jQuery 重写Alert样式方法
  • (39)STM32——FLASH闪存
  • (done) 两个矩阵 “相似” 是什么意思?
  • (java)关于Thread的挂起和恢复
  • (SpringBoot)第七章:SpringBoot日志文件
  • (附源码)springboot 个人网页的网站 毕业设计031623
  • (论文阅读32/100)Flowing convnets for human pose estimation in videos
  • (南京观海微电子)——I3C协议介绍
  • (原創) 如何動態建立二維陣列(多維陣列)? (.NET) (C#)
  • (原創) 如何解决make kernel时『clock skew detected』的warning? (OS) (Linux)
  • (转)shell中括号的特殊用法 linux if多条件判断
  • (转)Sublime Text3配置Lua运行环境
  • (转)编辑寄语:因为爱心,所以美丽
  • (转)关于如何学好游戏3D引擎编程的一些经验
  • *Algs4-1.5.25随机网格的倍率测试-(未读懂题)
  • .FileZilla的使用和主动模式被动模式介绍
  • .libPaths()设置包加载目录
  • .NET Conf 2023 回顾 – 庆祝社区、创新和 .NET 8 的发布