Titanium - 无法阻止iOs后台进程

时间:2014-02-26 11:50:53

标签: ios geolocation titanium titanium-mobile background-process

我已经为我的应用实施了后台服务。我正在使用它来通过使用位置服务来获取用户当前位置。

我将解释我实现这个的方式 - “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();
});

但是在完成所有位置基础工作后,当我移动到其他屏幕并将应用程序带到后台时,位置服务将重新开始。由于哪种设备电池耗尽。

有什么建议吗?提前谢谢。

2 个答案:

答案 0 :(得分:0)

玩完之后,我按照以下方式解决了 - 1.创建全局变量

`Ti.App.BackgroundService`
  1. 将服务分配给上述变量
  2. 当基于位置服务的工作完成时,停止并取消注册后台服务

    Ti.App.BackgroundService.stop();

  3. 它按预期工作。

    由于

答案 1 :(得分:0)

要停止后台处理,您只需拨打Titanium.App.iOS.BackgroundService.unregister()

即可