即使 phone 为 locked/sleep,应用程序仍能正常工作 - Ionic4

Keep app working even when phone is locked/sleep - Ionic4

应用程序是一个 ionic4 电容器应用程序,它也使用了很少的 cordova 插件。我有一个与蓝牙设备关联的计时器功能,即使 phone 进入睡眠或锁定模式,它也必须保持 运行。使用 cordova-background-mode 插件,该应用程序在后台运行,但一旦 phone 被锁定或处于睡眠状态,计时器就会停止工作。当屏幕恢复时,计时器从停止处继续。

在我的案例中,我无法使用平台暂停和恢复事件,因为仅取差并与时间相加会为我的用例提供错误的值。

此应用程序与高度调整一起使用 table,用户可以使用该应用程序调整高度,并在他处于站立位置时跟踪时间。 (当 table 达到一定高度时,计时器开始 运行。高度调整table也有按钮来控制它的高度。

用例(为什么我不能使用平台恢复和暂停事件以及时间戳):

  1. 桌子是站立的。计时器开始 运行.
  2. 我锁定我的phone(时间戳已创建)
  3. 我坐了1h(table也有控制高度的按钮,所以当用户使用它来降低高度并处于坐姿时,这是指的,但是phone 仍然是 locked/sleep)
  4. 我回到站立姿势 20 分钟
  5. 我解锁了我的phone。 (第二次创建时间戳)
  6. 现在它会显示 1:20min 站立时间,即使我只站立了 20 分钟

即使 phone 已锁定,我还能如何设置我的应用程序计时器 运行?或者我应该使用 insomnia cordova 插件在定时器为 运行 时让它保持清醒?即使使用 insomnia 插件,用户手动锁定 phone 时会发生什么情况?它会保持清醒吗?

我使用 ble 的 startNotification 方法中的 cordova 后台模式插件的唤醒方法让它工作。 @Paulw11 的建议有帮助!


你好, 我有同样的问题。我不明白 MJ2410 的回答——“使用 ble 的 startNotification 方法中的 cordova 后台模式插件的唤醒方法让它工作”。你能详细说明一下吗? 谢谢