Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/434.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 为什么应用程序在后退按钮退出_Javascript_Android_Button_Titanium_Back - Fatal编程技术网

Javascript 为什么应用程序在后退按钮退出

Javascript 为什么应用程序在后退按钮退出,javascript,android,button,titanium,back,Javascript,Android,Button,Titanium,Back,app.js if (osname === 'android') { Window = require('ui/handheld/android/SignIn'); } else { Window = require('ui/handheld/SignIn'); } new Window().open(); function SignIn() { var self = Ti.UI.createWindow(); //Some design and sign-i

app.js

if (osname === 'android') {
    Window = require('ui/handheld/android/SignIn');
}
else {
    Window = require('ui/handheld/SignIn');
}

new Window().open();
function SignIn() {
    var self = Ti.UI.createWindow();
    //Some design and sign-in validation code
    ...
    var StatusMain = require('/ui/handheld/android/StatusMain');
    new StatusMain(global_vars).open();
    return self;
}
function StatusMain(global_vars) {
    var self = Ti.UI.createWindow();
        return self;
}
SignIn.js

if (osname === 'android') {
    Window = require('ui/handheld/android/SignIn');
}
else {
    Window = require('ui/handheld/SignIn');
}

new Window().open();
function SignIn() {
    var self = Ti.UI.createWindow();
    //Some design and sign-in validation code
    ...
    var StatusMain = require('/ui/handheld/android/StatusMain');
    new StatusMain(global_vars).open();
    return self;
}
function StatusMain(global_vars) {
    var self = Ti.UI.createWindow();
        return self;
}
StatusMain.js

if (osname === 'android') {
    Window = require('ui/handheld/android/SignIn');
}
else {
    Window = require('ui/handheld/SignIn');
}

new Window().open();
function SignIn() {
    var self = Ti.UI.createWindow();
    //Some design and sign-in validation code
    ...
    var StatusMain = require('/ui/handheld/android/StatusMain');
    new StatusMain(global_vars).open();
    return self;
}
function StatusMain(global_vars) {
    var self = Ti.UI.createWindow();
        return self;
}
StatusMain.js上,当我单击设备的后退按钮时,屏幕将退出应用程序,而不是返回SignIn.js屏幕

任何帮助都是非常值得的

提前感谢,


Mohsin

您可以在代码中处理类似于此的后退按钮事件

window.addEventListener('android:back', function(){
    // close your current window
});
我建议您在创建新窗口时将(特定于Android的)exitOnClose属性设置为false:

exitOnClose:布尔型 仅限创作

布尔值,指示在显示窗口时>>按下Android后退按钮时应用程序是否应退出

只能将其设置为createWindow({…})选项。在窗口创建>之后设置它没有效果

StatusMain.js 这应该能奏效。尽管默认值为false,但您的问题似乎与此有关。我建议尝试将此属性设置为true/false


顺便说一句,如果你还没有在设备上测试你的应用程序,你也应该这样做。我对Android模拟器的体验在某些方面相当不一致。

将新窗口的模态属性设置为true

function StatusMain(global_vars) {
        var self = Ti.UI.createWindow({
        modal: true
    });
    return self;
}

StatusMain是一个轻量级窗口。它不会创建新的Android活动,而是与登录窗口活动共享。这就是为什么你的应用程序会在按下后退按钮时关闭。您需要创建一个重量级窗口(指定全屏或navBarHidden属性)StatusMain窗口