我最近发现了Cordova,并开始构建一个我一直在考虑的应用程序。我需要弄清楚我是否可以通过Cordova检测用户是否正在离开应用程序(不是锁定手机),或者例如接一个电话,是否有可以绑定的事件?我搜索了大多数npm-library软件包并进行了大量研究,但无法找到一个好的答案。
答案 0 :(得分:1)
Cordova提供暂停和恢复活动。
暂停强>
当本机平台将应用程序置于后台时,通常在用户切换到其他应用程序时触发暂停事件。 我想这会对你有帮助。
例如:
document.addEventListener("pause", onPause, false);
function onPause() {
// Handle the pause event
}
<强>恢复强>
当本机平台将应用程序从后台拉出时,将触发resume事件。
iOS Quirks
从暂停事件处理程序调用的任何交互式函数稍后在应用程序恢复时执行,如resume事件所示。这些包括alert,console.log()以及来自插件或Cordova API的任何调用,这些调用都是通过Objective-C进行的。
活动事件
特定于iOS的活动事件可用作恢复的替代方法,并检测用户何时禁用“锁定”按钮以在前台运行应用程序来解锁设备。如果应用程序(和设备)启用了多任务处理,则会与后续的恢复事件配对,但仅限于iOS 5.实际上,iOS 5中启用了多任务处理的所有锁定应用程序都会被推送到后台。要使应用在iOS 5下锁定时保持运行,请通过将UIApplicationExitsOnSuspend设置为YES来禁用应用的多任务处理。要在iOS 4上锁定时运行,此设置无关紧要。
恢复活动
当从resume事件处理程序调用时,诸如alert()之类的交互式函数需要包含在超时值为零的setTimeout()调用中,否则应用程序将挂起。例如:
document.addEventListener("resume", onResume, false);
function onResume() {
setTimeout(function() {
// TODO: do your thing!
}, 0);
}