android - 即使手机被锁定/睡眠也能保持应用程序工作 - Ionic4
问题描述
App 是一个 ionic4 电容器应用程序,它也使用了少量的 cordova 插件。我有一个与蓝牙设备相关的定时器功能,即使手机进入睡眠状态或处于锁定模式,它也必须保持运行。使用 cordova-background-mode 插件,该应用程序在后台运行,但一旦手机被锁定或处于睡眠状态,计时器就会停止工作。当屏幕恢复时,计时器从它停止的地方继续。
在我的案例中,我不能使用平台暂停和恢复事件,因为只是计算差异并加上时间会为我的用例提供错误的值。
该应用程序与高度调节表一起使用,用户可以使用该应用程序调整高度并跟踪他站立的时间。(当桌子达到一定高度时计时器开始运行)。高度调节表也有按钮来控制它的高度。
用例(为什么我不能使用平台恢复和暂停事件以及时间戳):
- 办公桌处于站立位置。计时器开始运行。
- 我锁定了我的手机(创建了时间戳)
- 我坐了1小时(桌子也有按钮来控制高度,所以当用户使用它来降低高度并且处于坐姿,但手机仍然处于锁定/睡眠状态时,这被称为)
- 我回到站立位置 20 分钟
- 我解锁手机。(创建第二个时间戳)
- 现在它会显示 1:20 分钟的站立时间,即使我只站立了 20 分钟
即使手机被锁定,我还能如何让我的应用程序计时器运行?或者我应该使用 insomnia cordova 插件在计时器运行时让它保持清醒?当用户使用失眠插件手动锁定手机时会发生什么?它会保持清醒吗?
解决方案
我使用 ble 的 startNotification 方法中的 cordova 后台模式插件中的唤醒方法让它工作。@Paulw11 的建议有帮助!
你好,我也有同样的问题。我不明白 MJ2410 的回答——“使用 ble 的 startNotification 方法中的 cordova 背景模式插件中的唤醒方法让它工作”。你能详细说明一下吗?谢谢
推荐阅读
- scala - Scala,ScalaTest - 如何最终解决超时问题?
- python - 有没有办法解决“OSError:[Errno 22] Invalid argument”?
- javascript - 方程返回具有连续输入的相同值
- android-management-api - 为什么我的其中一台设备出现 nonComplianceReason: MANAGEMENT_MODE?
- r - 伽马密度函数
- mysql - 努力使用 Node.js 将多个 MySQL 行打印到网页
- php - 如何在 MySQL 中计算剩余天数
- javascript - 使用 Javascript 如何将作为函数/方法的参数的数组添加到对象数组?
- reactjs - React useEffect 内存泄漏,第二个参数
- c# - 尝试创建一个行为类似于 VS 编辑器窗口的 WPF 窗口