Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/414.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 WL.App.overrideBackButton不';行不通_Javascript_Android_Ibm Mobilefirst - Fatal编程技术网

Javascript WL.App.overrideBackButton不';行不通

Javascript WL.App.overrideBackButton不';行不通,javascript,android,ibm-mobilefirst,Javascript,Android,Ibm Mobilefirst,我正在使用IBMMobileFirstPlatform 7.1。我正在尝试覆盖Android中后退按钮的标准行为。我创建了新的Mobilefirst项目“Hello Mobilefirst”。在main.js中,我覆盖了后退按钮功能。我在Samsung Note 4上运行了应用程序,后退按钮只关闭了应用程序,没有显示消息。如果我使用的是警报而不是WL.SimpleDialog.show,则应用程序将显示消息,但之后将关闭应用程序。如何仅在按下“是”时关闭应用程序 index.html <b

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

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>
谢谢大家!

WL.App.close()API将不再实际退出应用程序,因为这不是推荐的行为。苹果和谷歌都没有。如果你想强制退出应用程序,你需要触发本机代码来代替


请参见此处:

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

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

实际上,我不需要关闭应用程序。我需要保持它运行,但后退按钮正在关闭它。close()可以是另一个函数,而不是WL.App.close()。
if(WL.Client.getEnvironment().toUpperCase() == "ANDROID"){
      WL.App.overrideBackButton(backFunc); 
       }
function backFunc() {
           // alert('You will back to previous page');
          }