如何在phonegap/cordova中检测Android后退按钮

3Es*_*ech 5 jquery android jquery-mobile cordova

我目前使用的是cordova 3.7.1。在我的应用程序中,我无法在 jquery 脚本中检测到硬件后退按钮。我尝试这样: $(document).ready(function() { //registering the back button document.addEventListener("backbutton", onBackKeyDown, false); });

function onBackKeyDown(e) { alert("back button pressed");//alert if the android back button is pressed }

但这是行不通的。我已经尝试了所有的可能性

我还尝试使用 MainActivity.java 获取当前 URL

appView.getUrl();

但这不会返回 div 的 url 如果我有一个 div 作为#page2,它不会返回 url。

它仅返回http://sas.cer.org/index.html。它没有返回http://sas.cer.org/index.html#page2

我也在使用jquery mobile。

是否有任何替代方法可以在 Native 或 Jquery 端处理 android/硬件后退按钮?

Sab*_*san 4

有两种解决方案:

1) 您需要在索引 html 文件的 head 部分的脚本标记中包含 cordova.js 以使事件和插件正常工作。

<script type="text/javascript" charset="utf-8" src="cordova.js"></script>
Run Code Online (Sandbox Code Playgroud)

您可能无法在文件夹中看到此文件,但phonegap | cordova 命令在移动设备上运行时构建它。

2)按照此处给出的方式修改您的代码。 使用特定于移动设备的事件来确保应用程序正常运行。

  • 我已在 &lt;head&gt; 标记中添加了 cordova.js。代码不起作用我尝试了这样的方法:`document.addEventListener('deviceready',function(event) { document.addEventListener('backbutton', function(e) { // Logic to beexeced on back button eventalert( "按下后退"); } }, false);` **如果按下后退按钮则显示警报**。 (3认同)