rtc关机闹钟6 AlarmManagerService研究
这个是
private void setLocked(int type, long when) {
if (mNativeData != 0) {
// The kernel never triggers alarms with negative wakeup times
// so we ensure they are positive.
long alarmSeconds, alarmNanoseconds;
if (when < 0) {
alarmSeconds = 0;
alarmNanoseconds = 0;
} else {
alarmSeconds = when / 1000;
alarmNanoseconds = (when % 1000) * 1000 * 1000;
}
set(mNativeData, type, alarmSeconds, alarmNanoseconds);
} else {
Message msg = Message.obtain();
msg.what = ALARM_EVENT;
mHandler.removeMessages(ALARM_EVENT);
mHandler.sendMessageAtTime(msg, when);
}
}
setLocked()内部会调用native函数set():
- private native void set(int fd, int type, long seconds, long nanoseconds);
重新设置“实体闹钟”的激发时间。这个函数内部会调用ioctl()和底层打交道。具体代码可参考frameworks/base/services/jni/com_android_server_AlarmManagerService.cpp文件:
- static void android_server_AlarmManagerService_set(JNIEnv* env, jobject obj, jint fd,
- jint type, jlong seconds, jlong nanoseconds)
- {
- struct timespec ts;
- ts.tv_sec = seconds;
- ts.tv_nsec = nanoseconds;
- int result = ioctl(fd, ANDROID_ALARM_SET(type), &ts);
- if (result < 0)
- {
- ALOGE("Unable to set alarm to %lld.%09lld: %s\n", seconds, nanoseconds, strerror(errno));
- }
- }
转载于:https://www.cnblogs.com/muhuacat/p/5261100.html
rtc关机闹钟6 AlarmManagerService研究相关推荐
- java rtc alarm_rtc关机闹钟4 AlarmManagerService.java
vim base/services/core/java/com/android/server/AlarmManagerService.java AlarmManager 调用 IAlarmManage ...
- 中国实时时钟(RTC)模块市场深度研究分析报告
[报告篇幅]:113 [报告图表数]:151 [报告出版时间]:2021年9月 报告摘要 2020年中国实时时钟(RTC)模块市场规模达到了 亿元,预计2027年可以达到 亿元,未来几年年复合增长率 ...
- mysql自定义函数的分号_MySQL之自定义函数实例讲解
转自:https://www.2cto.com/database/201804/740205.html MySQL中已经有很多函数,如时间函数等,但是有时这些函数不能满足自己的设计需求,此时需要自定义 ...
- pycharm如何更改python项目环境_PyCharm如何导入python项目,并配置虚拟环境
rtc关机闹钟7 jni层 com_android_server_AlarmManagerService frameworks/base/services/core/jni/com_android_s ...
- 声网高纯:领域和方向要聚焦,用最专业的方法做最专业的事丨人物专访
前言 本期「声网开发者 x 人物专访」的受访者,是声网高级架构师 @高纯. 高纯是 W3C 组织的 AC REP(Advisory Committee Representative),还是一名管乐爱好 ...
- 展讯平台功耗调试记录
展讯平台功耗调试记录 1.查看应用持有锁:dumpsys power | grep LOCK 2.查看内核持有锁:cat /d/wakeup_sources 休眠后查看唤醒源:串口 log 打印 Wa ...
- 马志强:语音识别技术研究进展和应用落地分享丨RTC Dev Meetup
本文内容源自「RTC Dev Meetup 丨语音处理在实时互动领域的技术实践和应用]的演讲分享,分享讲师为寰语科技语音识别研究主管马志强. 01 语音识别技术现状 1.语音成为万物互联时代人机交互关 ...
- 嵌入式Linux初始化硬件RTC,嵌入式Linux系统中的快速启动技术研究
嵌入式Linux系统主要特点在于使用Bootloader替代了桌面系统的BIOS,同时对系统进行了规模上的裁剪,但硬件上的劣势往往导致系统启动速度较慢,而嵌入式产品使用者又对系统的开机速度比较敏感,样 ...
- wk一sm5时间温度控制器_Android RTC 自下而上分析
作者:邹南, 在Android中,定时alarm功能是很常用的,现在来分析下怎么实现的,这里将采用自下而上的方式讲解. arm: cortex-a8 Board: FS_S5PC100 Linux: ...
最新文章
- 高德地图多边形覆盖物添加、获取、删除
- VMware下ghost安装XP后无法从硬盘启动的问题
- ubuntu系统安装和配置
- 10个Flex MVC 框架(转)
- LeetCode 142. 环形链表 II(链表环的检测)
- 哪一类人用苹果手机最多?
- 使用 PDO 方式将 Session 保存到 MySQL 数据中
- iphone怎么长截屏_涨知识了!原来苹果手机也可以长截屏,还不知道的,快来学一学...
- c语言中文网pdf免费下载,C语言中文网VIP教程11.9.pdf
- Excel文件下载From Linux
- IBM刀片服务器虚拟化方案
- 计算机基础表格函数基础知识大全,计算机基础-EXCEL公式和函数
- 为什么产品经理都在学画原型?
- (五)学习笔记:软件管理rpm、dnf软件仓库搭建与管理
- Ubuntu2Go制作使用和资料说明(LinuxtoGo)
- python写网络爬虫编程环境设置
- 云计算基础架构 (三)Mongodb
- 水货iPad 2价格骤降数千元
- 鱼C论坛小甲鱼Python课后题
- knn分类算法实现手写体数字识别python
热门文章
- php点选按钮ajax,php – 在单选按钮上显示div中的数据单击ajax
- mysql编辑工具wf_轻松构建自定义WF设计器
- Java程序员的春天!java引用数据类型和基本数据类型区别
- python【蓝桥杯vip练习题库】ALGO-91 Anagrams问题
- idea server日志乱码_IDEA高级玩法:集成JIRA、UML类图插件、SSH、FTP、Database管理
- at指令 fpga_FPGA毕设系列 | 无线通信
- matlab toolbox下载_Matlab自动导出高质量无变形论文插图
- 成都网络推广告诉大家网站抓取量要如何解决?
- 网络广告推广浅析网站中的关键词密度要如何控制呢?
- 长沙网络推广教你如何在网站优化中让URL标准化?