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

Boo*_*App 4 javascript android titanium appcelerator

我的应用程序遇到了新问题,我正在使用 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;
});
Run Code Online (Sandbox Code Playgroud)

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

如果位置为“1”,则应该有动画,因此这可以工作,但在动画期间,应用程序会立即关闭。

窗口的代码是这样的:

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]
});
Run Code Online (Sandbox Code Playgroud)

WeM*_*are 5

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

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

Ti.UI.currentWindow.addEventListener('androidback',function(event){
      event.cancelBubble = true;
}
Run Code Online (Sandbox Code Playgroud)

您还必须修改您的窗口并将exitOnClose属性设置为false