- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
好的,所以我的应用程序是在这里找到的手电筒/手电筒应用程序: https://github.com/Skelware/Fancy-Flashlight它使用在这里找到的 Cordova 插件:https://github.com/Skelware/Cordova-Flashlight
目前我只关心Android。简要解释一下这样的应用程序在 Android 上的工作方式:应用程序必须请求访问相机并且这是在后台完成的,加载相机需要一段时间,因此加载(和卸载)应该尽可能少尽可能。当一个应用可以访问相机时,没有其他应用可以请求访问。
当我的应用程序启动时,它会加载相机并执行它需要执行的操作。但是当用户切换到不同的应用程序或关闭我的应用程序时,相机仍然注册到我的应用程序导致所有其他应用程序无法使用相机。
虽然我更愿意在 JavaScript 端处理它,但在插件中本地处理它也可以。
Window 的卸载事件似乎在退出(即完全退出)应用程序时被触发,但它没有足够的时间释放相机。
Cordova 版本是 4.0,Android 版本是 4.4,尽管我怀疑这是否重要。
我该怎么办?
最佳答案
你的问题是应用程序在进入后台模式时进入休眠状态(用户按下主页按钮等)。这可以通过 Cordova background plugin 来阻止。通过调用
cordova.plugins.backgroundMode.enable();
你可以在获取相机时调用它,当你释放它时,你可以调用它的对应物
cordova.plugins.backgroundMode.disable();
这样你就不会在不必要的时候阻止 sleep ,因此你可以保护一些电池。
然后,你需要简单的绑定(bind)pause事件
document.addEventListener("pause", function() {
// Here call your release function and in the release function, you can call the disable for background mode
}, false);
关于javascript - Cordova - 如何检测应用程序不再被积极使用 Android,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27990068/
谁能解释当应用程序通过 802.11 WiFi 网络发送 UDP 单播数据报时它是如何工作的?假设非阻塞 UDP 套接字。具体而言,假设 802.11n 或 802.11ac 以及相当新的 Linux
我是一名优秀的程序员,十分优秀!