1

我正在尝试使用以下代码关闭我的 Phonegap Android 应用程序:

document.addEventListener("backbutton", function () { 
    if ($('.screenshot').is(":visible")) {
        if (confirm('Afsluiten?')){
            setTimeout( function() { navigator.app.exitApp(); });
        }
        else {
            '';
        }
    }
    else {
        $(".items , .screenshot").show();
        $(".content , .openbrowser , .html5vid , .introtekst_gal" ).hide();
        $(".terug").hide();
    }
}, true);

它工作一次:按后退按钮,然后按“确定”关闭应用程序,如预期的那样。

但是当我这样做时,应用程序不再关闭:

  • 按返回按钮(弹出显示)
  • 按“取消”(弹出消失)
  • 按返回按钮(弹出显示)
  • 按“确定”(弹出窗口消失,应用程序应该关闭,但不关闭)

我究竟做错了什么?

4

2 回答 2

8

你可以试试这段代码:

     document.addEventListener("backbutton", function () { 
         navigator.notification.confirm(
             'Do you want to quit', 
             onConfirmQuit, 
             'QUIT TITLE', 
             'OK,Cancel'  
         );
     }, true); 


    function onConfirmQuit(button){
        if(button == "1"){
            navigator.app.exitApp(); 
        }
    }
于 2012-04-13T02:26:18.920 回答
0

我不得不删除一些代码来测试,所以我最终使用了:

        document.addEventListener("backbutton", function () { 
            if (confirm('Afsluiten?')){
                setTimeout( function() { navigator.app.exitApp(); });
            }
            else {
                '';
            }
        }, true);  

这似乎工作得很好。您应该执行一些 console.logs 来查看确认对话框是否将您返回到正确的位置。另外,当您运行应用程序时,您在“adb logcat”中看到了什么?

于 2012-04-12T14:26:00.610 回答