钛后退按钮 - 始终关闭我的应用程序

Titanium Back Button - Always closes my App

我的应用程序出现了新问题,我正在使用 Appcelerator Titanium 进行开发。 我想从我的设备上锁定后退按钮,这样应用程序就不会在我每次使用他时关闭。我只想在主菜单上关闭应用程序。所以这是我的代码:

Ti.UI.currentWindow.addEventListener('android:back',function(){
alert(Ti.App.PositionNow);
if(Ti.App.PositionNow=='0') {
    alert('do quit');
} else if(Ti.App.PositionNow=='1') {
    Ti.App.multi_tableView.addEventListener('click',myfunction);
    var duration = 300;
    var setOldOpacity = Titanium.UI.createAnimation();
    setOldOpacity.opacity = 1;
    setOldOpacity.zIndex = 1;
    setOldOpacity.duration = duration;

    var setOldBottom = Titanium.UI.createAnimation();
    setOldBottom.bottom = 0;
    setOldBottom.duration = duration;

    var setOldTop = Titanium.UI.createAnimation();
    setOldTop.top = 0;
    setOldTop.duration = duration;

    var animationHandler2 = function() {
           setOldTop.removeEventListener('complete',animationHandler2);
           Ti.App.multi_view_first.animate(setOldTop);
           Ti.App.multi_view_second.animate(setOldBottom);
           Ti.App.multi_tableView.animate(setOldOpacity);
        };
    setOldTop.addEventListener('complete',animationHandler2);
    Ti.App.multi_view_first.animate(setOldTop);
    Ti.App.multi_view_second.animate(setOldBottom);
    Ti.App.multi_tableView.animate(setOldOpacity);
    alert('hallo1');
    Ti.App.PositionNow = 0;
}
return false;
});

我有一个变量,用于跟踪用户在菜单层次结构中的位置。所以应用程序应该只在位置为“0”时关闭。

如果位置是“1”,应该有一个动画,这样就可以了,但是在动画期间,应用程序会立即关闭。

window的代码是这样的:

Ti.App.hs_win = Ti.UI.createWindow({
   url: '/sites/homescreen/index.js',
   navBarHidden: true,
   fullscreen: true,
   modal:true,
   theme: "Theme.Titanium",
   orientationModes: [Ti.UI.PORTRAIT]
});

您正在监控的事件 android:back 已弃用。请使用 androidback 事件。

第二步是停止事件处理程序链中的事件进一步冒泡。为此,您需要取消活动:

Ti.UI.currentWindow.addEventListener('androidback',function(event){
      event.cancelBubble = true;
}

你还必须修改你的 window 并将 exitOnClose 属性 设置为 false