• Android中获取正在运行的应用程序ActivityManager.RunningAppProcessInfo类详解


     今天继续讲解关于ActivityManager的使用,通过前面一节的学习,我们学会了如何利用ActivityManager获取系统

          正在运行的进程。本文要讲解的知识点是利用这些进程信息获取系统里正在运行的应用程序以及每个进程里运行的应用程序。

         用到的知识点也包括PackageManager的使用,读者阅读在我之前写的blog《PackageManager的使用

               

                  每一个应用程序都会运行在它独立的进程里,但是为了节省资源或者这些应用程序是为了完成某一共同工作,它们

          也可能会运行在一个进程里。

                                                                     

     

      知识点介绍:

       

            ActivityManager.RunningAppProcessInfo类

             说明: 封装了正在运行的进程信息

             常用字段

                       int   pid    进程ID

                       int   uid    进程所在的用户ID

                       String   processName 进程名,默认是包名或者由android:process=””属性指定

                       String [ ]   pkgList      运行在该进程下的所有应用程序包名

     

          关于ActivityManager.RunningAppProcessInfo更多信息,请查看<Android中应用程序的信息---ActivityManager的使用>

     

       

       PackageManger类

           说明: 封装了对应用程序信息的操作

     

            获得应用程序信息的的方法如下:

     

           public abstract ApplicationInfo  getApplicationInfo(String packageName, int flags)

              参数:packagename 包名

                           flags   该ApplicationInfo是此flags标记,通常可以直接赋予常数0即可

              功能:返回ApplicationInfo对象

     

       关于PackageManger更多信息,请查看<Android中获取应用程序(包)的信息-----PackageManager的使用(一)>

     Demo说明:

     

                我们利用ActivityManager获取所有正在运行的进程信息后,也就是获取了每个进程里正在运行的应用程序包名(pkgname),

         那么通过这些包名(pkgname),直接调用PackageManager类提供的方法,可以获取这些应用程序的信息了。

               一些资源文件就不贴了,直接贴出了主工程逻辑。需要注意的在这儿我们一次性获取了所有应用程序信息,然后对这些

         应用程序进行过滤,得到我们需要的对象。 读者可以使用PackageManager类提供的方法,进行循环遍历所有包名(pkgname),

         但是这样效率会比较低。

          截图如下:

                         点击某一进程后                                           查看某一进程运行的应用程序信息              所有正在运行的进程信息:

                                          

       

    原文:http://blog.csdn.net/qinjuning/article/details/7009824

  • 相关阅读:
    CentOS 7拨号上网(ADSL & PPPoE)
    linux使用nmcli重新生成网卡配置文件
    Linux 内存缓存占用过大,Centos7设置定时清除buff/cache的脚本
    部署redis6.0 常见问题
    ssh 升级导致的hadoop 主备切换失败
    配置zookeeper的 ACL权限
    sqoop 创建跟mysql相同表结构的hive表报错
    vim中显示不可见字符
    supervisor 使用
    使用hive streaming 统计Wordcount
  • 原文地址:https://www.cnblogs.com/shanzei/p/2423988.html
Copyright © 2020-2023  润新知