3

使用 AlarmManager 时,Android 设备可以在某个时间从睡眠中唤醒。

Android 如何在较低级别安排唤醒?

我尝试使用rtcwake,但它失败了rtcwake: /dev/rtc0 not enabled for wakeup events(如果我强制 rtcwake 继续并进行必要的 ioctls,我仍然看不到设备被按时唤醒)

Android 使用哪些系统调用来设置警报以及如何从控制台自己进行设置?

4

1 回答 1

4

Android 使用 /dev/alarm 设备设置可以将系统从挂起状态唤醒的警报。它可以从 JNI 使用 ioctl 访问此设备。请参阅 frameworks/base/services/jni/com_android_server_AlarmManagerService.cpp 文件。Android 拥有对该设备的独占访问权限,据我所知,该接口只能通过 Java 使用 AlarmManager 服务获得。如果您需要在 java 级别设置这些警报,您可以使用 getSystemservice(ALARM_SERVICE) 访问此服务,从本机它有点棘手,我目前也遇到同样的问题。我需要在本机进程中发出警报,并且我正在使用套接字与 java 服务进行通信以安排警报。这可能不是您正在寻找的答案,但我想分享我的经验。

于 2012-12-06T09:30:22.587 回答