(昨天有事没写完,今天继续)

 

获取当前服务信息RunningServiceInfo

 

                  List list4 = activityManager.getRunningServices(10);if (list4.size() != 0) {for (RunningServiceInfo info : list4) {ComponentName name = info.service;// 服务组件名Log.i(TAG, "name: " + name);String packageName = info.clientPackage;// 包名Log.i(TAG, "packageName: " + packageName);String proName = info.process;// 进程名Log.i(TAG, "proName: " + proName);long startTime = info.activeSince;// 开始时间Log.i(TAG, "startTime: " + startTime);int clientCount = info.clientCount;// 连接到服务的客户数量Log.i(TAG, "clientCount: " + clientCount);int label = info.clientLabel;// 标识特殊服务Log.i(TAG, "label: " + label);int crashCount = info.crashCount;// 运行过程中奔溃的次数Log.i(TAG, "crashCount:" + crashCount);int flag = info.flags;Log.i(TAG, "flag: " + flag);long lastTime = info.lastActivityTime;// 最后服务结束的时间Log.i(TAG, "lastTime: " + lastTime);long restarting = info.restarting;// 如果非0,代表服务没启动,计划启动Log.i(TAG, "restarting: " + restarting);boolean isForeground = info.foreground;// 是否处于处于最前面的服务状态Log.i(TAG, "isForeground: " + isForeground);boolean isStart = info.started;//服务以后已经开启Log.i(TAG, "isStart: " + isStart);int pid = info.pid;Log.i(TAG, "pid: " + pid);int uid = info.uid;Log.i(TAG, "uid: " + uid);Log.i(TAG, "====================================");}}


运行程序获得的信息如下:

 

03-28 10:04:26.850: I/MainActivity(1567): name: ComponentInfo{com.android.bluetooth/com.android.bluetooth.hid.HidService}03-28 10:04:26.850: I/MainActivity(1567): packageName: null03-28 10:04:26.850: I/MainActivity(1567): proName: com.android.bluetooth03-28 10:04:26.860: I/MainActivity(1567): startTime: 2175403-28 10:04:26.860: I/MainActivity(1567): clientCount: 103-28 10:04:26.860: I/MainActivity(1567): label: 003-28 10:04:26.860: I/MainActivity(1567): crashCount:003-28 10:04:26.860: I/MainActivity(1567): flag: 003-28 10:04:26.860: I/MainActivity(1567): lastTime: 2175403-28 10:04:26.860: I/MainActivity(1567): restarting: 003-28 10:04:26.860: I/MainActivity(1567): isForeground: false03-28 10:04:26.860: I/MainActivity(1567): isStart: false03-28 10:04:26.860: I/MainActivity(1567): pid: 003-28 10:04:26.860: I/MainActivity(1567): uid: 100203-28 10:04:26.860: I/MainActivity(1567): ====================================03-28 10:04:26.860: I/MainActivity(1567): name: ComponentInfo{com.android.phone/com.android.phone.CallForwardService}03-28 10:04:26.860: I/MainActivity(1567): packageName: null03-28 10:04:26.860: I/MainActivity(1567): proName: com.android.phone03-28 10:04:26.870: I/MainActivity(1567): startTime: 4523803-28 10:04:26.870: I/MainActivity(1567): clientCount: 003-28 10:04:26.870: I/MainActivity(1567): label: 003-28 10:04:26.870: I/MainActivity(1567): crashCount:003-28 10:04:26.870: I/MainActivity(1567): flag: 903-28 10:04:26.870: I/MainActivity(1567): lastTime: 4523803-28 10:04:26.870: I/MainActivity(1567): restarting: 003-28 10:04:26.870: I/MainActivity(1567): isForeground: false03-28 10:04:26.870: I/MainActivity(1567): isStart: true03-28 10:04:26.870: I/MainActivity(1567): pid: 80703-28 10:04:26.870: I/MainActivity(1567): uid: 100103-28 10:04:26.870: I/MainActivity(1567): ====================================03-28 10:04:26.870: I/MainActivity(1567): name: ComponentInfo{com.sohu.inputmethod.sogou/com.sohu.inputmethod.sogou.SogouIME}03-28 10:04:26.870: I/MainActivity(1567): packageName: android03-28 10:04:26.870: I/MainActivity(1567): proName: com.sohu.inputmethod.sogou03-28 10:04:26.870: I/MainActivity(1567): startTime: 2013703-28 10:04:26.870: I/MainActivity(1567): clientCount: 103-28 10:04:26.870: I/MainActivity(1567): label: 1704062903-28 10:04:26.870: I/MainActivity(1567): crashCount:003-28 10:04:26.870: I/MainActivity(1567): flag: 003-28 10:04:26.870: I/MainActivity(1567): lastTime: 2027903-28 10:04:26.870: I/MainActivity(1567): restarting: 003-28 10:04:26.880: I/MainActivity(1567): isForeground: false03-28 10:04:26.880: I/MainActivity(1567): isStart: false03-28 10:04:26.880: I/MainActivity(1567): pid: 73403-28 10:04:26.880: I/MainActivity(1567): uid: 1006203-28 10:04:26.880: I/MainActivity(1567): ====================================03-28 10:04:26.880: I/MainActivity(1567): name: ComponentInfo{com.android.phone/com.android.phone.BluetoothPhoneService}03-28 10:04:26.880: I/MainActivity(1567): packageName: null03-28 10:04:26.880: I/MainActivity(1567): proName: com.android.phone03-28 10:04:26.880: I/MainActivity(1567): startTime: 2384203-28 10:04:26.880: I/MainActivity(1567): clientCount: 103-28 10:04:26.880: I/MainActivity(1567): label: 003-28 10:04:26.880: I/MainActivity(1567): crashCount:003-28 10:04:26.880: I/MainActivity(1567): flag: 903-28 10:04:26.880: I/MainActivity(1567): lastTime: 2384203-28 10:04:26.880: I/MainActivity(1567): restarting: 003-28 10:04:26.880: I/MainActivity(1567): isForeground: false03-28 10:04:26.880: I/MainActivity(1567): isStart: true03-28 10:04:26.890: I/MainActivity(1567): pid: 80703-28 10:04:26.890: I/MainActivity(1567): uid: 100103-28 10:04:26.890: I/MainActivity(1567): ====================================03-28 10:04:26.890: I/MainActivity(1567): name: ComponentInfo{com.android.contacts/com.sprd.contacts.BatchOperationService}03-28 10:04:26.890: I/MainActivity(1567): packageName: null03-28 10:04:26.890: I/MainActivity(1567): proName: com.android.contacts03-28 10:04:26.890: I/MainActivity(1567): startTime: 4794503-28 10:04:26.890: I/MainActivity(1567): clientCount: 103-28 10:04:26.890: I/MainActivity(1567): label: 003-28 10:04:26.890: I/MainActivity(1567): crashCount:003-28 10:04:26.890: I/MainActivity(1567): flag: 003-28 10:04:26.890: I/MainActivity(1567): lastTime: 4794503-28 10:04:26.890: I/MainActivity(1567): restarting: 003-28 10:04:26.890: I/MainActivity(1567): isForeground: false03-28 10:04:26.890: I/MainActivity(1567): isStart: false03-28 10:04:26.890: I/MainActivity(1567): pid: 127603-28 10:04:26.890: I/MainActivity(1567): uid: 1000303-28 10:04:26.890: I/MainActivity(1567): ====================================

 

获取最近访问的任务RecentTaskInfo

 

                  List list5 = activityManager.getRecentTasks(20, 1);// RECENT_WITH_EXCLUDED=1,// RECENT_IGNORE_UNAVAILABLE=2if (list5.size() != 0) {for (RecentTaskInfo info : list5) {Intent intent = info.baseIntent;// 触发该任务的IntentLog.i(TAG, "intent: " + intent);CharSequence sequence = info.description;// 描述性文字Log.i(TAG, "sequence: " + sequence);int id = info.id;// 如果是运行中的TASK,唯一标识该任务,如果不是,为-1Log.i(TAG, "id: " + id);ComponentName name = info.origActivity;// 触发任务的第一个activityLog.i(TAG, "name: " + name);int perId = info.persistentId;// 当前任务的唯一标识Log.i(TAG, "perId: " + perId);Log.i(TAG, "============================================");}}


运行程序输出如下:

 

03-28 10:28:39.853: I/MainActivity(2698): intent: Intent { act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] flg=0x10000000 cmp=com.ibm.activitymanager/.MainActivity }03-28 10:28:39.853: I/MainActivity(2698): sequence: null03-28 10:28:39.853: I/MainActivity(2698): id: 803-28 10:28:39.853: I/MainActivity(2698): name: null03-28 10:28:39.853: I/MainActivity(2698): perId: 803-28 10:28:39.853: I/MainActivity(2698): ============================================03-28 10:28:39.853: I/MainActivity(2698): intent: Intent { act=android.intent.action.MAIN cat=[android.intent.category.HOME] flg=0x10000000 cmp=com.android.launcher3/.Launcher }03-28 10:28:39.853: I/MainActivity(2698): sequence: null03-28 10:28:39.853: I/MainActivity(2698): id: 103-28 10:28:39.853: I/MainActivity(2698): name: null03-28 10:28:39.853: I/MainActivity(2698): perId: 103-28 10:28:39.853: I/MainActivity(2698): ============================================03-28 10:28:39.853: I/MainActivity(2698): intent: Intent { flg=0x54840000 cmp=com.android.stk/.StkDialogActivity }03-28 10:28:39.853: I/MainActivity(2698): sequence: null03-28 10:28:39.853: I/MainActivity(2698): id: -103-28 10:28:39.853: I/MainActivity(2698): name: null03-28 10:28:39.853: I/MainActivity(2698): perId: 303-28 10:28:39.853: I/MainActivity(2698): ============================================03-28 10:28:39.853: I/MainActivity(2698): intent: Intent { act=com.sprd.settings.APPLICATION_SPRD_USB_SETTINGS flg=0x10a00000 cmp=com.android.settings/com.sprd.settings.SprdUsbSettings }03-28 10:28:39.853: I/MainActivity(2698): sequence: null03-28 10:28:39.853: I/MainActivity(2698): id: -103-28 10:28:39.853: I/MainActivity(2698): name: null03-28 10:28:39.853: I/MainActivity(2698): perId: 203-28 10:28:39.853: I/MainActivity(2698): ============================================


 当然别忘了添加权限:

 

 

 总结

 

        ActivityManager有5个内部类,分别代表了应用程序中各种信息对象,我们通过ActivityManager提供的方法分别获得了他们的对象,然后通过打印他们的信息查看他们具体的内容,做到了一个直观的了解。对于只啃文档,揣测方法的意思更有利于掌握,说一说,看一万遍代表,不如敲一行来的管用。

更多相关文章

  1. Android(安卓)使用librtmp推流【音视频传输】
  2. 【Android】ProcessRecord、ServiceRecord和ConnectionRecord
  3. Android(安卓)实现获取双卡中的联系人
  4. android——获取手机联系人的工具类
  5. Android系统信息获取 之二:版本信息获取
  6. Android(安卓)Crash:Bad notification for startForeground
  7. java.lang.IllegalStateException Fragment already added: Home
  8. 网站地址整理
  9. android 视频缩略图之 MediaStore

随机推荐

  1. android 命令
  2. android Intent的一些用法
  3. Android:Fragment
  4. 搜藏夹
  5. Android(安卓)ViewPager实现图片滑动预览
  6. Android中的帧动画
  7. android 添加文本内容到sqlite表中
  8. android开发 权限大全
  9. Android连接网络打印机,jSocket连接网络打
  10. Android(安卓)点击查看大图(长按保存图片)