科尔多瓦 - 如何检测应用程序不再被积极使用Android
Cordova - how to detect the app is not actively used anymore Android
好的,所以我的应用程序是一个手电筒/手电筒应用程序,在这里找到:https://github.com/Skelware/Fancy-Flashlight,它使用在这里找到的Cordova插件:https://github.com/Skelware/Cordova-Flashlight
目前我只关心Android。简要解释一下这样的应用程序在 Android 上的工作方式:应用程序必须请求访问相机,这是在后台完成的,加载相机需要一段时间,因此加载(和卸载)应尽可能少地发生。虽然应用可以访问相机,但其他任何应用都无法请求访问权限。
当我的应用启动时,它会加载相机并执行它需要执行的操作。但是,当用户切换到其他应用或关闭我的应用时,相机仍会注册到我的应用,从而导致所有其他应用无法使用相机。
虽然我更愿意在 JavaScript 端处理这个问题,但在插件中原生处理这个问题也是可以的。
Window 的卸载事件似乎在退出(即完全退出)应用时触发,但它没有足够的时间来释放相机。
Cordova版本是4.0,Android版本是4.4,尽管我怀疑这是否重要。
我该怎么办?
您的问题是应用程序在进入后台模式(用户按下主页按钮等)时进入睡眠状态。这可以通过调用 Cordova 后台插件来防止
cordova.plugins.backgroundMode.enable();
您可以在获得相机时调用它,当您释放它时,您可以调用其对应项
cordova.plugins.backgroundMode.disable();
这样,您就不会在不必要的情况下阻止睡眠,从而保护一些电池。
然后,您只需绑定暂停事件
document.addEventListener("pause", function() {
// Here call your release function and in the release function, you can call the disable for background mode
}, false);
相关文章:
- Canvas Html5绘图应用程序,移动画布会导致重大问题
- Emberjs应用程序加载在除Index之外的所有路由上
- 使用电话间隙在Android应用程序中显示SQL Lite的数据
- 在AngularJS应用程序中使用封装指令和路由的推荐方式是什么
- Windows8应用程序(html&Javascript):从图片库(除了文件选择器)显示图像的另一种方式
- angular 1.5应用程序中的导航栏
- 在Web应用程序中使用Highcharts javascript
- angularjs+rails应用程序中未显示模板
- 使用acess代币登录Facebook,并通过网络应用程序离线发布
- 从HTTPGET返回一个自定义对象列表,以便在Angular 2应用程序中使用
- 科尔多瓦页面类应用程序中的多个谷歌地图
- 使用谷歌应用程序脚本将服务器端数据表返回到客户端
- Angularjs-utils高亮过滤器在搜索时破坏应用程序
- 在phonegap应用程序内部重定向不起作用
- 使用谷歌应用程序脚本从工作表中获取值并将其显示在文本框中
- MockJax没有在JavaScript应用程序中发送对我AJAX请求的响应
- Meteor应用程序突然不再在iOS上运行
- 科尔多瓦 - 如何检测应用程序不再被积极使用Android
- AngularJS应用程序不再工作
- 对于安全的应用程序,不再支持禁用javascript或非ajax浏览器是否可以接受?