在 Android 版 PhoneGap 上捕获返回按键

2024-03-07

我正在使用 PhoneGap 进行 Android 应用程序开发,但我一直在捕获设备上的后退键按下!我尝试了其他线程和官方维基页面中的所有内容,但似乎都不起作用! :(

我可以使用 keyEvent.menuTrigger 和 keyEvent.searchTrigger 捕获菜单和搜索键,但似乎无法捕获后退按钮按下!我类似地尝试了 keyEvent.backTrigger 但它不起作用!为“backKeyDown”事件添加事件侦听器也不起作用!

这是我的代码:

BackButton.override();
    document.addEventListener('backKeyDown', function(e) {
  console.log('Caught it!');
}, false);
keyEvent.searchTrigger= searchPressed;
keyEvent.menuTrigger=menuPressed;
keyEvent.backTrigger=backPressed;

控制台说:

Line 1 : Uncaught TypeError: Cannot call method 'backTrigger' of undefined

这是否意味着 Something.backTrigger() 正在被调用,但对象 Something 不存在。那是什么东西?或者有什么办法吗?

也尝试了与 KeyEvent 相同的操作,但没有运气! 请帮忙!

提前致谢! :)


维基百科 http://wiki.phonegap.com/w/page/29494136/Android-Back-Button-Handler关于 Android 按钮处理程序的页面已针对 PhoneGap 0.9.5 进行了更新:

// This is your app's init method. Here's an example of how to use it
function init() {
    document.addEventListener("deviceready", onDR, false);
} 

function onDR(){
    document.addEventListener("backbutton", backKeyDown, true);
    //boot your app...
}

function backKeyDown() {
    // do something here if you wish
    // alert('go back!');
}

适用于我的 PhoneGap 0.9.6

您还可以使用以下方法处理其他按钮菜单按钮 and 搜索按钮 events.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 Android 版 PhoneGap 上捕获返回按键 的相关文章

  • Javascript:我应该隐藏我的实现吗?

    作为一名 C 程序员 我有一个习惯 将可以而且应该私有的东西设为私有 当 JS 类型向我公开其所有私有部分时 我总是有一种奇怪的感觉 而且这种感觉并没有被 唤起 假设我有一个类型draw方法 内部调用drawBackground and d
  • PhoneGap、getDeviceInfo 上的 EXC_BAD_ACCESS 的解决方法

    我遇到过EXC BAD ACCESS on getDeviceInfo对于应用程序 当升级到XCode 5 1并支持iOS 7 1 For XCode 5 1 和 iOS 7 1 它的内存管理非常严格 导致我在 iPhone 5s 上的 P
  • 在尝试使用 GPS 之前如何检查 GPS 是否已启用

    我有以下代码 但效果不好 因为有时 GPS 需要很长时间 我该如何执行以下操作 检查GPS是否启用 如果启用了 GPS 请使用 GPS 否则请使用网络提供商 如果 GPS 时间超过 30 秒 请使用网络 我可以使用时间或 Thread sl
  • InAppMessage 一旦显示就会自动消失

    您好 我最近将 InAppMessaging 添加到我的项目中 这似乎很容易集成 但对我来说并没有按预期工作 首先 我将其添加到 build gradle 中 implementation com google firebase fireb
  • 如何在具有相同值的下拉菜单上触发 jQuery 更改事件

    即使用户选择相同的值 如何每次都触发 jQuery 更改事件 我需要刷新效果 例如如果用户选择Lawyer它会发出警报hello然后用户再次选择Lawyer从下拉菜单中 它应该发出警报hello 我怎样才能实现它 以下是代码 jQuery
  • 在 Android ADT Eclipse 插件中滚动布局编辑器

    有谁知道当布局编辑器的内容溢出一个 屏幕 时如何滚动这些内容 我说的是在设计时使用 ADT 布局编辑器 而不是在物理设备上运行时滚动 效果很好 关闭 Android 布局编辑器中的剪辑 切换剪辑 按钮位于 Android 布局编辑器的右上角
  • JSONP 使用 JQuery 从 HTTPS 协议获取 JSON

    我正在尝试获取从 https 安全站点发送的 JSON 客户端希望不要使用任何服务器端语言 全部都是 Javascript 我读到 当使用 Jquery 中的 ajax 函数时 我必须使用 JSONP 才能从安全站点加载 JSON 我的第一
  • Aurelia 中的角度服务?

    我还没有找到详细说明如何从 Angular 1 x 迁移到 Aurelia 的详细文档 到目前为止 我只看到人们详细介绍了 Angular 的概念directive可以在 Aurelia 中使用重制 customElement 好吧 足够简
  • SQLiteDatabase.openDatabase 与 SQLiteOpenHelper.getReadableDatabase

    这两种方法有什么区别吗 两者都返回一个打开的 SQLiteDatabase 如果数据库不存在 两者都可以创建数据库 当需要读 写时 SQLiteOpenHelper 还具有 getWriteableDatabase 我应该使用哪种方法以及在
  • Android UnityPlayerActivity 操作栏

    我正在构建一个 Android 应用程序 其中包含 Unity 3d 交互体验 我已将 Unity 项目导入 Android Studio 但启动时该 Activity 是全屏的 并且不显示 Android 操作栏 我怎样才能做到这一点 整
  • 标记(Markdown)+ Mermaid(流程图和图表)

    努力去争取 美人鱼 https github com knsv mermaid https github com knsv mermaid跟 共事 标记 https github com chjj marked https github c
  • 将两个数字相加将它们连接起来而不是计算总和

    我将两个数字相加 但没有得到正确的值 例如 做1 2返回 12 而不是 3 我在这段代码中做错了什么 function myFunction var y document getElementById txt1 value var z do
  • Android BLE 扫描永远找不到设备

    几天以来 我尝试在我的应用程序中实现 BLE 连接 我知道我尝试连接的设备功能齐全 因此问题一定是我的代码 我用BluetoothLeScanner startScan 方法 但回调方法永远不会被调用 public void startSc
  • 如何为 jQuery 插件设置私有变量?

    我想创建一个简单的插件 它使用元素的文本作为默认值 或者您可以在调用插件时设置此值 但是 如果我不设置该值 并为多个元素调用插件 则默认值会成倍增加 function fn reText function options var setti
  • 如何获取符号名称(文字)?

    以下情况 var myVehicle brand Tesla var isMoving Symbol var currentStatus Symbol myVehicle isMoving true myVehicle currentSta
  • Keycloak-js updateToken(minValidity) 需要澄清

    我在Keycloak js中阅读了很多该方法的示例 但没有对以下方法进行明确的解释 updateToken minValidity number KeycloakPromise
  • Chrome 调试器注入 javascript

    我有这样的好奇心 是否可以以某种方式在我的页面中注入 javascript 并执行它并调试它 正如您在控制台中所做的那样 但在控制台中您无法暂停并观察变量 是否可以调试我通过控制台输入的代码 为什么无法调试通过 XHR 接收的代码 Than
  • 区分 NaN 输入和输入类型为“number”的空输入

    我想使用 type number 的表单输入 并且只允许输入数字
  • 如何通过点击复制 folium 地图上的标记位置?

    I am able to print the location of a given marker on the map using folium plugins MousePosition class GeoMap def update
  • 为什么 try catch 块没有捕获 Promise 异常?

    我对承诺的错误处理感到困惑 答案可能很明显 但我不明白 我有以下示例代码 var test async function throw new Error Just another error try test then catch err

随机推荐

  • 如何确定拨打的电话是本地电话还是 STD 或 ISD

    我正在开发一个应用程序 需要跟踪用户发出的拨出呼叫 我可以通过使用广播接收器来跟踪 我还想检测呼叫是本地呼叫还是 STD 或 ISD 但我无法检测到 假设 你知道哪个State 电信界 正在拨出电话 然后你只需要检查你的地方州 电信界 与去
  • Elastic Beanstalk .ebextensions 在 WAR 中被忽略

    我正在尝试改变client max body size我的 Elastic Beanstalk NGINX 反向代理的属性 以便允许上传更大的 JPEG 文件 因此 我将文件夹 ebextensions 添加到 WAR 文件的根目录中 WA
  • 如何在Android模拟器上模拟速度?

    有没有办法在Android模拟器上模拟速度 edit 这样做的目的是测试 getSpeed 方法 Example 我想将设备设置为每小时 20 英里 是的 你可以这么做 如果您使用 Eclipse 开发应用程序 则必须进入 DDMS 视角
  • Titan 警告:查询需要迭代所有顶点

    下面我补充一下cdate索引和一些数据 baseGraph makeKey cdate dataType Long class indexed Vertex class make for int i 0 i lt 20 i Vertex p
  • C++11 std::to_string(double) - 没有尾随零

    今天尝试了C 11 STL的一些新功能 遇到了std to string 可爱的 可爱的一组功能 创建一个 stringstream 对象来进行一次双精度到字符串的转换对我来说总是显得有些过分 所以我很高兴我们现在可以做这样的事情 std
  • 无法在 Google 云端硬盘文件夹中创建虚拟环境

    我正在使用 Google Drive 保留我的代码项目的副本 以防我的计算机死机 我也在使用 GitHub 但不在某些私人项目上 但是 当我尝试使用创建虚拟环境时virtualenv 我收到以下错误 PS C users fchatter
  • 如何保护 phpMyAdmin

    我注意到我的网站有一些奇怪的请求试图找到 phpmyadmin 例如 phpmyadmin pma etc 现在我已经通过 apt 在 Ubuntu 上安装了 PMA 并且想通过不同于 phpmyadmin 的网址访问它 我可以做什么来改变
  • Jenkins 中的条件构建后步骤(理想情况下没有插件)

    如果我理解正确的话 我可以使用这个插件来设置构建步骤的条件 https wiki jenkins ci org display JENKINS Conditional BuildStep Plugin https wiki jenkins
  • 如何计算到达某一天的剩余时间(天、小时、分钟、秒)?

    我在用Moment js https momentjs com docs displaying fromnow 检索下周五 moment day 5 format 成功运行并打印2020 06 26T13 19 01 04 00到控制台 现
  • 用于从另一个测试结果生成 JUnit 报告的 Python 脚本

    我有一个验收测试用例 结果是纯文本 我想使用Jenkins来显示结果 JUnit格式适合我 所以我想检查是否有现有的Python代码来生成JUnit格式的XML 这样我就可以轻松地添加我的解析代码 相关问题 https stackoverf
  • SQL - 查找 ADAM GRANT 出演的所有电影的电影标题和语言名称

    我在用 SQL 来思考这样的问题时遇到了很多麻烦 我不知道应该如何构建我的查询 我应该加入吗film on film actor然后加入actor 或者我应该反过来做 我所能做的就是获取一个连接的查询actor and film actor
  • 页面未正确重定向 - HTTPS HTACCESS 重写错误

    我有以下 htaccess 重写规则 规则 1 导致无限循环错误 我正在尝试将所有请求重定向到 HTTPS 但它不起作用 由于规则 1 规则 2 也被阻止 当我评论规则1时一切都很好 如果我更改顺序也会发生此无限循环错误 请帮助我如何解决这
  • GDI+ / C#:如何将图像另存为 EMF?

    如果您使用 Image Save 方法将图像保存到 EMF WMF 则会出现异常 http msdn microsoft com en us library ktx83wah aspx http msdn microsoft com en
  • 如何将 valgrind 与 Python C++ 扩展一起使用?

    我在 C 类上实现了 Python 扩展 我没有用于运行 valgrind 的 C 目标 我想使用 valgrind 进行内存检查 我可以将 valgrind 与 Python 一起使用吗 是的 您可以使用valgrind使用Python
  • viewDidUnload 中有效的内容应该移至 didReceiveMemoryWarning 吗?

    在新的 iOS 6 中 viewDidUnload已弃用 我们已被指示使用didReceiveMemoryWarning相反 管理 UIViewController 实例和子类中的对象 将 nils 分配给内部的 UIView 类型是否同样
  • Angular AOT 组件中的相对路径

    我在这里问是因为我在网上找不到完整的文档 这个例子here https angular io docs ts latest cookbook aot compiler html太简单了 我有一个包含多个组件和一些模块的应用程序 用ngc编译
  • 在 IIS 5.1 (Windows XP) 上部署 ASP.NET MVC

    好吧 部署 ASP NET MVC 似乎很痛苦 我想在 Windows XP IIS 5 1 上部署 ASP NET MVC 应用程序 但似乎找不到如何执行此操作 当我在网络浏览器地址栏中输入应用程序名称时 我收到一条 网站不可用 消息 有
  • ES6数组初始化

    ES6 非常新 在 ES5 中我可能会做这样的事情 function newArray var data for var i 0 i lt 5 i data i test data i return data x newArray 在 ES
  • Tensorflow 中的反向传播(随时间)代码

    在哪里可以找到 Tensorflow python API 中的反向传播 通过时间 代码 或者使用其他算法 例如 当我创建 LSTM 网络时 TensorFlow 中的所有反向传播都是通过自动区分网络前向传递中的操作 并添加显式操作来计算网
  • 在 Android 版 PhoneGap 上捕获返回按键

    我正在使用 PhoneGap 进行 Android 应用程序开发 但我一直在捕获设备上的后退键按下 我尝试了其他线程和官方维基页面中的所有内容 但似乎都不起作用 我可以使用 keyEvent menuTrigger 和 keyEvent s