我已经为我的应用实施了后台服务。我正在使用它来通过使用位置服务来获取用户当前位置。
我将解释我实现这个的方式 - “XYZ.js” - 用户距离显示的屏幕。以下代码被添加到设置寄存器后台服务 -
var iService = Ti.App.iOS.registerBackgroundService({
url : 'BackgroundService.js'
});
一旦应用程序转到后台,后台服务启动并收集用户位置。当app来到前台时,我在事件后被解雇 -
Ti.App.fireEvent('stopBackgroundService');
在“BackgroundService.js”中 - 有一个监听器为 -
Ti.App.addEventListener('stopBackgroundService',function(){
Ti.App.currentService.stop();
});
但是在完成所有位置基础工作后,当我移动到其他屏幕并将应用程序带到后台时,位置服务将重新开始。由于哪种设备电池耗尽。
有什么建议吗?提前谢谢。
答案 0 :(得分:0)
玩完之后,我按照以下方式解决了 - 1.创建全局变量
`Ti.App.BackgroundService`
当基于位置服务的工作完成时,停止并取消注册后台服务
Ti.App.BackgroundService.stop();
它按预期工作。
由于
答案 1 :(得分:0)
要停止后台处理,您只需拨打Titanium.App.iOS.BackgroundService.unregister()
即可