当前位置:  开发笔记 > 编程语言 > 正文

在javascript中捕获Android手机中的原生按钮点击次数

如何解决《在javascript中捕获Android手机中的原生按钮点击次数》经验,为你挑选了1个好方法。

有没有办法我们可以使用phonegap/jqtouch/javascript捕获Android应用程序中的html文件中的HOME和BACK按钮的点击?

我有一个使用phonegap的Android应用程序.我想在html页面中捕获Android手机的原生HOME和BACK按钮的点击以优雅地退出/返回.



1> fil maj..:

您可以在PhoneGap中捕获BACK按钮事件,但不是HOME按钮(这是一个糟糕的Android练习,因为无论您使用的是关于HOME键做什么的应用程序都有明确的用户期望:将您送回家屏幕!您不想覆盖此功能).

我将引导您访问PhoneGap中的代码片段(最新源代码!从github获取最新版本的phonegap框架)以获得指导.

首先,有一个'BrowserKey'java对象绑定到'BackButton'JavaScript全局:

http://github.com/phonegap/phonegap-android/blob/master/framework/src/com/phonegap/DroidGap.java#L291

这个类的定义如下:http://github.com/phonegap/phonegap-android/blob/master/framework/src/com/phonegap/BrowserKey.java

您需要在应用程序中执行的第一件事(我建议您在应用程序初始化期间运行它)是让框架的本机端知道您正在覆盖BACK按钮功能.您可以通过简单的调用在JavaScript中执行此操作:

BackButton.override();

从那里开始,您可以将事件处理程序附加到文档的'backKeyDown'事件,以便在每次按下BACK按钮时执行逻辑.这样的事情应该有效:

document.addEventListener('backKeyDown', function(e) {
  alert('you hit the back key!');
}, false);

作为附录,这里是包含后退按钮事件调度的JavaScript代码:http://github.com/phonegap/phonegap-android/blob/master/framework/assets/js/keyevent.js

基本上,在调用BackButton.override()之后,每次按下BACK按钮时,框架的本机端都会调用window.keyEvent.backTrigger().

推荐阅读
mobiledu2402851173
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有