使用暂停和恢复监听器的Titanium ios和android背景状态

时间:2015-07-10 13:07:31

标签: titanium

为iOS和Android使用该应用。登录后我们使用tabgroup,Gps等在前台播放..它运作良好。 此外,在单击主页按钮(背景状态)后,如果我们在几分钟内再次打开应用程序应用程序恢复。 此外,我们稍后1小时或1天打开应用程序,启动屏幕显示和登录屏幕打开。

所以我在下面的whome.js中使用了'registerBackgroundService',

var bgService;
Titanium.App.addEventListener('paused', function(e) {

   bgService = Ti.App.iOS.registerBackgroundService({
    url:'wHome.js'
   });

   tabGrp.tabs[2].setBadge(gbc);
   etc...
}

Ti.App.addEventListener('resumed', function() {

    if (bgService != null){
        bgService.stop();
        bgService.unregister();
    }

    tabGrp.tabs[2].setBadge(gbc);
   etc...
}

也在GPS的tiapp.xml中添加的行下方

 <ios>
   <plist>
        <dict>
        <key>UIBackgroundModes</key>
        <array>
        <string>location</string>
        </array>
        </dict>
    </plist>
</ios>

现在它的工作似乎是应用程序没有开始会话,甚至在第二天打开后恢复到whome.js屏幕。但很少有一秒钟的错误投掷,

  • “undefined不是对象(评估'homewin.tabgroup')在whome.js(第1行)”

如何修复它以及为什么在我们恢复应用时会发生这种情况。感谢。

1 个答案:

答案 0 :(得分:0)

看起来whome.js依赖于不可用的变量homewin。您确定此变量是在whome.js中定义的,而不是,例如在app.js(或alloy.js合金)?因为服务app.js不是bootrstrap,而是whome.js你不能使用那里定义的全局变量。