《系统信息小助手》项目演练(三)(高级).pdf
《《系统信息小助手》项目演练(三)(高级).pdf》由会员分享,可在线阅读,更多相关《《系统信息小助手》项目演练(三)(高级).pdf(29页珍藏版)》请在三一文库上搜索。
1、系统信息小助手系统信息小助手项目演练项目演练 (三)(三) Android平台手机应用开发技术培训 高级.第14讲 学习目标: 目标学员: 课程时长:45分钟 有JAVA语言基础的开发者或在校计 算机相关专业大学生 掌握在Android中如何管理系统进程。 掌握获取Wi-Fi的信息的方法,同时控制 它的开关状态。 软件功能分析软件功能分析 运行时管理 Wi-Fi管理 项目演练 课程目录课程目录 软件功能分析 本次课程将为系统信息小助手实现 进程管理以及Wi-Fi管理的功能。 进程管理模块可以查看目前正在运行的 Activity或Service,同时可以强制终止某 个进程。 Wi-Fi管理模块可
2、以查看当前的无线状态。 同时可以检索附近的Wi-Fi接入点,或者 强制关闭Wi-Fi模块。 软件功能分析 运行时管理运行时管理 Wi-Fi管理 项目演练 课程目录课程目录 ActivityManager介绍 在android.app包里,有一个用于管理运行时信息的ActivityManager类。 通过它可以和所有正在运行的Activity进行交互(官方文档对它的定义)。 实际上ActivityManager不仅可以获得Activity的运行时信息,同时还可以通过 它获取正在运行的Service,Task等等的运行时信息。 此外,还能通过ActivityManager获得设备配置信息,获得当前
3、内存状态信息, 获得各个进程的内存使用状况,获得进程错误状态等等。 所以,我们认为官方文档对ActivityManager 的描述并不准确,它应该是与所 有正在运行的活动,服务,任务,进程等进行交互的工具类。 MemoryInfo介绍 ActivityManager包含一系列用于描述运行时专用信息的实体类。下面先对它 们进行简单的介绍。 ActivityManager.MemoryInfo,当前可用内存的信息。其关键属性如下: availMem 系统的可用总内存。 lowMemory 当系统认为自身处于低内存状态时它的值为true。 threshold 内存的最低值。当内存低于这个值则认为内存
4、过低, 并开始终止后台服务和其他无关的进程。 ActivityManager使用getMemoryInfo方法返回MemoryInfo实例,以此来描述 当前的内存占用状况。 注意: ActivityManager.getProcessMemoryInfo返回的不是 ActivityManager.MemoryInfo,而是Debug.MemoryInfo void getMemoryInfo(ActivityManager.MemoryInfo outInfo) RunningServiceInfo介绍 ActivityManager.RunningServiceInfo,系统中正在运行的服务
5、信息。 下面是其关键成员的摘要: activeSince,服务初次被激活的时间。 clientCount,连接服务的客户端数。 crashCount,当服务运行时,服务进程已经崩溃的次数。 foreground,当服务已经作为前台进程请求运行,则值为true。 lastActivityTime,服务中只有最后一个Activity的时间。 pid,服务所在进程的编号。 process,服务所在进程的名称。 restarting,0表示服务正在运行,大于0则表示执行重启的剩余时间。 ActivityManager使用getRunningServices方法可获取正在执行的服务列表。 List ge
6、tRunningServices(int maxNum) RunningTaskInfo介绍 ActivityManager.RunningTaskInfo,当前运行的任务信息。 其关键属性如下: baseActivity 任务的首选启动Activity的组成部分。 description 任务当前状态的描述。 id 此任务的一个唯一标识符。 numActivities 此任务的行为数。 numRunning 此任务当前运行的行为数(未停止且持续中的)。 thumbnail 任务当前状态的微缩图。 topActivity 处于任务历史记录堆栈顶部的行为组成部分。 ActivityManager
7、使用getRunningTasks方法可获取正在执行的任务列表。 List getRunningTasks(int maxNum) RecentTaskInfo介绍 ActivityManager.RecentTaskInfo,用户最近使用过的任务信息。 其关键属性如下: public Intent baseIntent 用于启动任务的初始意图。 public int id 如果此任务正在运行,则该字段为其标识符。 public ComponentName origActivity 如果此任务由一个别名启动,则这是启动此任务的原始Activity 的组成部分。 ActivityManager使
8、用getRecentTasks方法可获取最近执行的任务列表。 List getRecentTasks( int maxNum, int flags) ProcessErrorStateInfo介绍 ActivityManager.ProcessErrorStateInfo,进程的错误状态信息。 其关键属性如下: condition 进程的状况。 crashData 崩溃的原始数据。 longMsg 描述错误状况的长信息。 pid 当前进程的pid。 processName 崩溃或错误发生时到进程名。 shortMsg 描述错误状况的摘要短信息。 tag 错误标记(由系统提供)。 uid 系统分
9、配给进程的ID。 ActivityManager使用getProcessesInErrorState可获取进程的错误信息列表。 List getProcessesInErrorState() RunningAppProcessInfo介绍 ActivityManager.RunningAppProcessInfo ,当前运行的进程的信息。 下面是其关键成员的摘要: importance 重要性等级(优先级)。 lru 可选的优先级分类 pid 进程的编号。 pkgList pkg文件名列表。 processName 进程名称。 uid 系统分配给进程的ID。 ActivityManager使用
10、getRunningAppProcesses可获取当前进程信息列表。 List getRunningAppProcesses() ActivityManager其它方法介绍 ActivityManager除了可以获取之前提及的那些运行时信息类以外。还有很多 有用的功能,下面将做简单的介绍: 获取设备配置信息 ConfigurationInfo是android.content.pm包中用于描述设备配置信息的类。 获取一个用于启动某个服务的配置面板的PendingIntent 这个功能比较有用,同时非常值得借鉴。我们也可以利用PendingIntent来为 自己的服务调用配置面板。 Configu
11、rationInfo getDeviceConfigurationInfo() PendingIntent getRunningServiceControlPanel( ComponentName service) 软件功能分析 运行时管理 WiWi- -FiFi管理管理 项目演练 课程目录课程目录 .wifi包简介 .wifi包含了Android中所有与wifi相关的类。 .wifi包里有四个关键的类: ScanResult 接入点的扫描结果 WifiConfiguration wifi的配置类 WifiInfo wifi的网络及连接状况信息 WifiManager 它提供了wifi功能的主
12、要控制接口 wifi的原理和使用细节并不是这个小节的主要内容。下面将主要介绍WifiInfo 的内容以及WifiManager的简单用法。 WifiInfo介绍 WifiInfo用来描述正在使用或创建中的Wifi连接的状态和信息。 它的主要方法如下: getBSSID(),返回现在接入点的BSSID(基本服务集标识符)。 getHiddenSSID(),网络是否隐藏wifi的SSID(服务集标识符)。 getIpAddress(),获得IP地址。 getLinkSpeed(),获得连接速度(Mbps)。 getMacAddress(),获得Mac地址(这个方法非常有用)。 getNetwork
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 系统信息小助手 系统 信息 助手 项目 演练 高级
链接地址:https://www.31doc.com/p-3331516.html