下载此文档

android闹钟系统设计报告.doc


文档分类:IT计算机 | 页数:约9页 举报非法文档有奖
1/9
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/9 下载此文档
文档列表 文档介绍
PendingInent 与 AlarmManager 概要: 本文通过对 OPhone 内置闹铃功能的简单介绍, 来让开发者朋友们了解基于 OPhon e 平台下客户/ 服务模式的编程模型,以及如何使用 OPhone 系统提供的闹铃唤醒功能。与此同时,本文还对 PendingIntent 做一些简单的介绍,并通过实例程序来演示如何通过 PendingIntent 将闹钟应用程序和系统闹铃服务联系起来。关键字:闹钟; 一、闹铃功能闹钟应用程序作为人们日常常用的基本应用程序之一, 其重要性不言而喻。在 OPhon e 系统中闹铃服务功能不仅仅对闹钟应用程序服务, 最重要的是可以利用该闹铃服务功能提供的唤醒能力来做定时器。这样即便应用程序没有运行或者是没有启动的情况下, 只要其注册过闹铃, 那么该闹铃到时间后, OPhone 系统可以自动将该应用程序启动, 这就是所谓的闹铃“唤醒“功能。在 OPhone 系统中, 底层系统提供了两种类型的时钟, 软时钟与硬时钟, 软时钟就是我们常说的 Timer, 硬时钟就是 RTC 。系统在正常运行的情况下, Timer 工作提供时间服务和闹铃提醒, 而在系统进入睡眠状态后, 时间服务和闹铃提醒由 RTC 来负责。对于上层应用来说,我们并不需要关心是 timer 还是 RTC 为我们提供服务,因为 OPhone 系统的 Framewor k 层把底层细节做了封装并统一提供 API 。这个 AP I 他的名字就叫 AlarmManager 。在 OPhone 系统中有意思的是对应 AlarmManage 有一个 AlarmManagerServie 服务程序, 该服务程序才是正真提供闹铃服务的, 它主要维护应用程序注册下来的各类闹铃并适时的设置即将触发的闹铃给闹铃设备(在 OPhone 系统中, linux 实现的设备名为”/dev/alarm ”), 并且一直监听闹铃设备, 一旦有闹铃触发或者是闹铃事件发生, AlarmManagerServie 服务程序就会遍历闹铃列表找到相应的注册闹铃并发出广播。该服务程序在系统启动时被系统服务程序 system_service 启动并初始化闹铃设备(/dev/alarm) 。当然,在 JAVA 层的 AlarmManagerService 与 Linux Alarm 驱动程序接口之间还有一层封装,那就是 JNI 。 AlarmManager 将应用与服务分割开来后,使得应用程序开发者不用关心具体的服务,而是直接通过 AlarmManager 来使用这种服务。这也许就是客户/ 服务模式的好处吧。 AlarmManager 与 AlarmManagerServie 之间是通过 Binder 来通信的,他们之间是多对一的关系。在 OPhone 系统中, AlarmManage 提供了 3 个接口 5 种类型的闹铃服务: ? 3个 API 调用接口: void cancel(PendingIntent operation) //取消已经注册的与参数匹配的闹铃 void set(int type, long triggerAtTime, PendingIntent operation) //注册一个新的闹铃 void setRepeating(int type, long triggerA

android闹钟系统设计报告 来自淘豆网m.daumloan.com转载请标明出处.

非法内容举报中心
文档信息
  • 页数9
  • 收藏数0 收藏
  • 顶次数0
  • 上传人luyinyzha
  • 文件大小0 KB
  • 时间2016-07-08