- 浏览: 1591099 次
- 性别:
- 来自: 上海
文章分类
- 全部博客 (289)
- java 语法基础 (51)
- spring (8)
- mvc struct /Ant --build.xml (8)
- SOA (0)
- oracle 9i/10g (23)
- sql server 2000-2005 (3)
- 数据库基础知识 (6)
- 设计模式与软件架构 (10)
- Hibernate 持久化 (9)
- J2SE/J2EE/J2ME/AJAX 技术 (8)
- JSF 技术 (3)
- JAVA 图形化 (0)
- JMS (40)
- Eclipse 3.2 IDE 开发技巧 (13)
- 项目处理方法集合 (2)
- html/jsp/javascript (2)
- Unix/Linux (9)
- j2me/ARM/windriver/嵌入式 (4)
- 电信科学 (8)
- jsp (1)
- c/c++ (1)
- LZW压缩算法(java) (2)
- Android (77)
- 版本管理git/svn (2)
最新评论
-
huihai:
有demo吗?
NamingStrategy实现动态表名映射 -
cangbaotu:
推荐给大家一些有用的爬虫源码:https://github.c ...
网络爬虫(源代码参考) -
tuspark:
除了.classpath文件以外,.project文件也应该了 ...
Eclipse .classpath文件浅谈 -
tuspark:
造成eclipse自动关闭的原因有很多,这里有很多介绍:ecl ...
eclipse 自动关闭 解决方案 -
DEMONU:
网上都是这些,这种文章。。。
ActiveMQ中的消息持久性
对应AlarmManage有一个AlarmManagerServie服务程 序,该服务程序才是正真提供闹铃服务的,它主要维护应用程序注册下来的各类闹铃并适时的设置即将触发的闹铃给闹铃设备(在系统中,linux实现的设备名 为”/dev/alarm”),并且一直监听闹铃设备,一旦有闹铃触发或者是闹铃事件发生,AlarmManagerServie服务程序就会遍历闹铃列 表找到相应的注册闹铃并发出广播。该服务程序在系统启动时被系统服务程序system_service启动并初始化闹铃设备(/dev/alarm)。当 然,在JAVA层的AlarmManagerService与Linux Alarm驱动程序接口之间还有一层封装,那就是JNI。
AlarmManager将应用与服务分割开来后,使得应用程序开发者不用 关心具体的服务,而是直接通过AlarmManager来使用这种服务。这也许就是客户/服务模式的好处吧。AlarmManager与 AlarmManagerServie之间是通过Binder来通信的,他们之间是多对一的关系。
在android系统中,AlarmManage提供了3个接口5种类型的闹铃服务。
3个接口:
5个闹铃类型
注意一个重要的参数PendingIntent。这个PendingIntent可以说是 Intent的进一步封装,他既包含了Intent的描述又是Intent行为的执行(这种定义也许不太严格),如果将Intent比作成一个订单的 话,PendingIntent更像是一个下订单的人,因为它既要负责将订单发出去,也要负责订单发送后的处理,比如发送成功后要准备验收订单货物,发送 失败后要重发还是取消订单等操作。开发者可以通过调用getActivity(Context, int, Intent, int)
getBroadcast(Context, int, Intent, int)
getService(Context, int, Intent, int)
三种不同方式来得到一个PendingIntent实例。
getBroadcast——通过该函数获得的PendingIntent将会 扮演一个广播的功能,就像调用 Context.sendBroadcast()函数一样。当系统通过它要发送一个intent时要采用广播的形式,并且在该intent中会包含相应的 intent接收对象,当然这个对象我们可以在创建PendingIntent的时候指定,也可以通过ACTION 和CATEGORY等描述让系统自动找到该行为处理对象。
getActivity——通过该函数获得的PendingIntent可以直 接启动新的activity, 就像调用 Context.startActivity(Intent)一样.不过值得注意的是要想这个新的Activity不再是当前进程存在的Activity 时。我们在intent中必须使用Intent.FLAG_ACTIVITY_NEW_TASK.
getService——通过该函数获得的PengdingIntent可以直接启动新的Service,就像调用Context.startService()一样。
发表评论
文章已被作者锁定,不允许评论。
-
APN(default、mms、supl、dun、hipri接入点类型的区别)
2013-10-10 19:31 45866设置APN上网时,大家可能经常遇到这个问题:为什么有时要填写 ... -
AMR音频编码器概述及文件格式分析
2013-10-10 19:29 3957全称Adaptive Multi-Rate,自适应多速率编码 ... -
pad 强制加载 Hdpi资源 (2.3 dpi < 240)
2012-07-16 16:47 0pad 强制加载 Hdpi资源 (2.3 dpi < ... -
android 设计模式-享元模式
2011-12-16 23:01 2193享元(FlyWeight)模式,原意是“轻量级”模式,它用来解 ... -
statusbar 2.3
2011-11-08 16:04 1283以前我的文章分析过Stat ... -
android 输入法默认设置
2011-07-07 14:00 7196设置默认输入法 在 frameworks\base\co ... -
Android Media Scanner Process
2011-06-06 22:58 3408下面是系统图 Medi ... -
handler与多线程消息处理
2011-06-04 13:42 8282在Android下面也有多线程的概念,在C/C++中,子线程可 ... -
android light
2011-03-24 16:15 3413背光设置是在:设置->声音和显示->亮度,通过进度 ... -
PowerManagerService sensor
2011-03-22 20:06 2672默认分类 2010-12-24 14:34:55 阅读144 ... -
android 单例
2011-02-15 09:26 42291. Framework层的代码: A ... -
Android 开发之 Services 服务
2010-11-02 18:21 4243Service Service ... -
eclipse+android+ddms+adt
2010-09-14 10:30 8459用eclipse + ADT作为android ... -
Menus
2010-09-05 19:01 1790Android Menus 文章分类:移动开发 1.O ... -
Android开机自启动应用开发
2010-08-28 10:07 4592目前需要开发一个开机自启动的GTD应用程序来提醒用户的 ... -
Android2.1_Launcher学习笔记
2010-08-11 13:40 3877文章分类:移动开发 好么,2.0的源码没看几天,2.1的 ... -
Browsing Android Source in Eclipse
2010-08-09 16:00 3437Google’s Android SDK includes ... -
android 编译
2010-08-07 16:31 25311 我的系统是Ubuntu 8.04 * 2 系统上 ... -
Ubuntu linux 右键添加"以管理员身份打开","在终端中打开"
2010-08-02 15:04 4660Ubuntu linux 右键添加"以管理员身份打开 ... -
自制android1.5的源码包
2010-08-02 13:44 1902最近打算玩下android,听hong老大说最好看看源码。而a ...
相关推荐
在Android开发中,`AlarmManager`是系统服务之一,它允许应用程序安排在未来的某个时间执行一次性或周期性的操作。这个服务对于实现定时任务,比如定时提醒、后台数据同步等场景非常有用。本教程将深入讲解如何使用`...
`AlarmManager`是Android系统服务之一,它可以设置一次性或者重复的提醒。通过它,开发者可以安排在精确的时间点启动一个BroadcastReceiver,执行特定的任务,如发送通知、更新数据或者唤醒设备等。`AlarmManager`...
通过分析`AlarmManagerDemo`,开发者能够深入学习Android系统的关键组件,并学会如何结合它们来实现复杂的功能,这对于Android应用开发是非常有价值的实践。在实际开发中,可以根据此示例进行扩展和修改,以满足特定...
在本文中,我们将深入探讨 `AlarmManager` 的使用方法、特点以及最佳实践。 ### 1. `AlarmManager` 的基本使用 `AlarmManager` 是 Android SDK 的一部分,位于 `android.app` 包下。我们可以通过以下方式获取 `...
总之,`AlarmManagerDemo`提供了一个实践性的平台,帮助开发者深入学习Android的定时任务实现。通过研究源码,不仅可以掌握定时器的用法,还能了解到Android系统服务的工作原理,提升自己的编程技能。
在这个项目中,我们将深入探讨AlarmManager与Service的结合使用,以及如何实现整点报时的功能。 首先,让我们了解一下AlarmManager的基本用法。AlarmManager是Android的系统服务,可以通过Context.getSystemService...
通过对这些源代码的学习和分析,我们可以深入了解Android系统如何实现闹钟功能。 首先,`DeskClock`是Android系统中的一个应用,它提供了时钟、闹钟、计时器和秒表等功能。在源代码中,我们可以找到关于闹钟设置、...
这个APP可能是学生在学习Android应用开发时完成的一个重要练习,展示了Android应用的基本架构和功能实现。通过分析这个源码,我们可以深入理解Android应用的开发流程和技术要点。 首先,Android Studio是Google官方...
6. **Android组件**:除了Activity,还包括Service(后台服务)、BroadcastReceiver(广播接收者)、ContentProvider(内容提供者)等,理解它们的作用和用法是深入学习Android的重要部分。 7. **通知与唤醒**:...
这份名为“android公司内部学习资料”的压缩包包含了深入学习Android开发的丰富内容,涵盖了从基础到高级的关键知识点。以下是对各个文件的详细解读: 第一章_Android开发环境.pdf:这一章节通常会讲解如何搭建...
在这款名为"Android应用源码安卓日程安排提醒日历"的项目中,我们可以深入学习Android平台上关于日程管理与提醒功能的实现。这个压缩包包含的源代码为我们提供了实现一个完整日历应用的实例,这对于我们理解Android...
要深入学习和使用这些代码,需要将其导入Android Studio,理解代码逻辑并根据实际需求进行调整。 总结来说,实现Android定时开关机或重启功能需要结合BroadcastReceiver、Service、AlarmManager和权限管理等知识,...
在Android开发中,"android课表闹钟"是一个常见的应用场景,尤其对于学生用户群体非常实用。...通过学习这个项目的源代码,开发者可以更好地理解和掌握Android中AlarmManager和BroadcastReceiver的使用技巧。
在Android平台上,便签应用是一种常见的工具,它允许用户快速记录和管理日常生活中的想法、待办事项和...通过这个项目,开发者可以深入学习Android平台的开发实践,同时也能为用户提供一个便捷、美观的便签管理工具。
通过深入学习这些源码,开发者不仅可以了解Android系统的日历功能,还可以学习到如何构建高效的数据存储系统、如何与其他应用共享数据、如何设置和管理定时任务,以及如何实现用户界面等Android开发的关键技能。...
在Android平台上进行应用...通过研究这个源代码,开发者不仅可以学习到如何在Android上创建闹钟应用,还能深入理解Android系统服务、广播接收器以及系统通知的工作机制,这对于提升Android应用开发能力是非常有帮助的。
在Android平台上,开发一款闹钟应用需要对Android Studio的使用、Android SDK以及AlarmManager服务有深入理解。Android Studio是Google官方推出的集成开发环境,用于构建Android应用,它提供了丰富的工具和功能来...
【基于Android的闹钟】程序是一个实用的移动应用,它允许用户在Android设备上设置和管理个人化的提醒。这个程序经过了实际测试,...这个项目对于想要深入学习Android开发的初学者来说,是一个很好的实践和学习平台。
对于开发者来说,深入理解DeskClock的源码能够帮助我们更好地掌握Android系统的UI设计、多线程处理、时间管理等方面的知识。本文将对Android 4.0版本的DeskClock源码进行详细的分析和解读。 首先,DeskClock应用的...