Cordova - 检测应用程序是否在后台运行

9
我在我的 Cordova 应用中添加了一个功能,允许用户通过摇动手机执行某些操作(我使用 shake.js 实现)。当这种情况发生时,手机会震动。
问题是,当我“alt tab”切换到其他应用程序并将其放入后台时,摇晃/震动组合仍然有效。因此,用户可能正在使用完全不同的应用程序,而手机仍然会震动。
有没有办法检测应用程序是否在后台运行,或者更好的方法是在进入后台时冻结应用程序?
我在 Android 上遇到了这个问题(尚未在 iOS 上进行测试)。

你能从Cordova调用Android SDK的方法吗? - Biraj Zalavadia
1
有一组暂停/恢复事件可以监听 - 但可能无法正常工作。但首先尝试一下。因此,在暂停时,设置一个标志,以便忽略那些摇晃。 - Raymond Camden
1个回答

9
你可以简单地绑定“暂停”事件并从应用程序中删除摇晃功能。根据文档,“暂停”事件在将应用程序放入后台时触发。
你可以监听“恢复”事件来重新启用摇晃功能。通常情况下,你可以在文档中找到完整的代码示例。

当iOS应用程序再次进入前台时,暂停事件将触发一次。 - Lakshay Dulani

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接