WL.App.overrideBackButton不起作用

时间:2016-01-22 19:43:20

标签: javascript android ibm-mobilefirst

我正在使用IBM Mobilefirst Platform 7.1。我正在尝试覆盖Android中后退按钮的标准行为。我创建了新的Mobilefirst项目“Hello Mobilefirst”。在 main.js 中,我正在覆盖后退按钮功能。我在三星Note 4和后退按钮上运行应用程序,只关闭应用程序没有显示消息。如果我使用警告而不是 WL.SimpleDialog.show ,应用程序正在显示消息,但之后它正在关闭应用程序。如何在按YES时关闭应用程序?

的index.html

<body style="display: none;">
        Hello MobileFirst
        <script src="js/initOptions.js"></script>
        <script src="js/main.js"></script>
        <script src="js/messages.js"></script>
</body>

main.js

function wlCommonInit(){

}

WL.App.overrideBackButton(checkQuit());

function checkQuit() {
    WL.SimpleDialog.show(
            "Quit application", 
            "Are you sure?", 
            [
             {text: "Yes", handler: function() {WL.App.close();}},
             {text: "No", handler: function() {}}
             ]
    );
}

谢谢!

2 个答案:

答案 0 :(得分:1)

首先,您需要找到客户端环境并在main.js文件中编写以下代码。

if(WL.Client.getEnvironment().toUpperCase() == "ANDROID"){
      WL.App.overrideBackButton(backFunc); 
       }
function backFunc() {
           // alert('You will back to previous page');
          }

答案 1 :(得分:0)

WL.App.close()API将不再实际退出应用程序,因为这不是推荐的行为。不是Apple也不是Google。如果您想强行退出应用程序,则需要触发将执行此操作的本机代码。

见这里:What is the substitute for WL.App.close?