安卓原生定时器,用于将设备恢复到唤醒模式



我想启动一个计时器,当设备处于低功耗(睡眠)模式时,计时器过期时,该计时器将被触发。

设备仅在硬件事件(按下电源按钮)或任何网络活动(呼叫或数据包接收)时被唤醒(正常模式)。

有没有办法在安卓原生层中使用计时器使设备恢复正常模式?

我用谷歌搜索了这么多,但找不到方法。也尝试使用 timer_create()。但是当设备处于低功耗(睡眠)模式时,它不会被触发。

如果有人已经完成了这部分,请告诉我。

实际上,我所需的精度以毫秒为单位,而具有RTC_WAKEUP的 AlarmManager 位于应用程序层中,该层在考虑延迟后即将过期,这也是在 Java 层中。(如果我实现 Jni,它会给应用程序带来一些开销,因为有多个计时器需要在睡眠模式下运行)。

为了恢复设备,我认为您可以在这些行上进行探索1. 电源管理器服务


    PowerManager pm = (PowerManager) getSystemService(Context.POWER_SERVICE);
    PowerManager.WakeLock wl = pm.newWakeLock(PowerManager.SCREEN_DIM_WAKE_LOCK, "My Tag");
    wl.acquire();
    //..screen will stay on during this section..
wl.release();
2.在屏幕超时设置中android.provider.Settings.System.SCREEN_OFF_TIMEOUT值。3. 通过PowerManagerService Intent.ACTION_SCREEN_ON和Intent.ACTION_SCREEN_OFF意图

最新更新