Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/182.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
取消标记/覆盖Cordova 3.5中的Android后退按钮_Android_Cordova - Fatal编程技术网

取消标记/覆盖Cordova 3.5中的Android后退按钮

取消标记/覆盖Cordova 3.5中的Android后退按钮,android,cordova,Android,Cordova,根据Cordova 3.5版文档: 我使用下面的代码试图禁用back按钮。onDeviceReady事件激发,但back button事件不激发 // Wait for device API libraries to load // function onLoad() { document.addEventListener("deviceready", onDeviceReady, false); } // device APIs are available // function

根据Cordova 3.5版文档:

我使用下面的代码试图禁用back按钮。onDeviceReady事件激发,但back button事件不激发

// Wait for device API libraries to load
//
function onLoad() {
    document.addEventListener("deviceready", onDeviceReady, false);
}

// device APIs are available
//
function onDeviceReady() {
    // Register the event listener
    document.addEventListener("backbutton", onBackKeyDown, false);
}

// Handle the back button
//
function onBackKeyDown() {
}
在其他有趣的消息中,我在控制台中收到以下消息:

exec() call to unknown plugin App.
我已经看到了关于这个问题的几个答案,包括编辑config.xml文件并添加以下内容:

<feature name="App">
     <param name="android-package" value="org.apache.cordova.App" />
</feature>

所有这些都不起作用。

此错误提示: 对未知插件应用程序的exec调用

我检查了App.java文件,该文件包含cordova构建中包含的应用程序插件,我发现以下行:

protected static final String TAG = "CordovaApp";
这与3.5附带的cordova.js文件中相应的exec()调用不匹配。所以,我把它改成了

protected static final String TAG = "App";
现在,cordova的事件覆盖了文档中的所有工作

干杯。

此错误提示: 对未知插件应用程序的exec调用

我检查了App.java文件,该文件包含cordova构建中包含的应用程序插件,我发现以下行:

protected static final String TAG = "CordovaApp";
这与3.5附带的cordova.js文件中相应的exec()调用不匹配。所以,我把它改成了

protected static final String TAG = "App";
现在,cordova的事件覆盖了文档中的所有工作


干杯。

要禁用本机后退按钮功能,需要对传递给处理程序的事件对象调用
preventDefault()

document.addEventListener("backbutton", onBackKeyDown, false);

function onBackKeyDown(e) {
    e.preventDefault();
}
如果您遇到其他错误,我建议删除并重新添加android平台(确保您首先安装了最新版本的Cordova):

如果你能分享更多你的项目,那将是最好的,这样我就能看到哪里出了问题。您可以执行的其他检查:

  • 确保您已经为可能使用的任何其他功能安装了所有插件。
    cordova plugin ls
    将为您提供所有已安装插件的列表

  • 确保引用

  • 检查是否正在触发设备就绪事件

  • 在应用程序运行的情况下,在Safari dev工具中调试时,检查是否没有JavaScript错误


要禁用本机后退按钮功能,需要对传递给处理程序的事件对象调用
preventDefault()

document.addEventListener("backbutton", onBackKeyDown, false);

function onBackKeyDown(e) {
    e.preventDefault();
}
如果您遇到其他错误,我建议删除并重新添加android平台(确保您首先安装了最新版本的Cordova):

如果你能分享更多你的项目,那将是最好的,这样我就能看到哪里出了问题。您可以执行的其他检查:

  • 确保您已经为可能使用的任何其他功能安装了所有插件。
    cordova plugin ls
    将为您提供所有已安装插件的列表

  • 确保引用

  • 检查是否正在触发设备就绪事件

  • 在应用程序运行的情况下,在Safari dev工具中调试时,检查是否没有JavaScript错误


backbutton
事件移动到
devicerady
事件下方的行(不在
deviceready
的回调中,然后确保安装了
设备
插件。另外,确保在
onBackKeyDown
末尾添加
return false;
。将
backbutton
事件移动到
deviceready
事件下方的行(不要在
deviceready
的回调中,然后确保安装了
设备
插件。另外,确保在
onBackKeyDown
的末尾添加
return false;
。我确实调用了preventDefault和return false,这只是为了更好地衡量。但是,这一切都不起作用,因为事件没有触发错误。)还没有。至于安装cordova的最新版本,当时我刚刚进行了一次新的安装,将我的版本升级到3.5。您是否删除并重新添加了该平台?如果您共享更多的项目,那将是最好的,这样我就可以看到哪里出了问题,否则我就无能为力了。我已经在我的ans中添加了更多建议wer如果您已经删除并重新添加了平台。我忽略了提及这是一个问题,它在尝试控制Android硬件后退按钮时表现出来。问题始于删除和重新设置平台。onDeviceReady事件成功触发。Cordova在所有方面都正常运行其他方面。花这么多时间搜索它为什么不起作用,结果发现我没有添加cordova.js。谢谢。我确实调用了preventDefault并返回false,只是为了更好地衡量。但是,这些都不起作用,因为事件根本没有启动。至于安装最新版本的cordova,当时我刚刚做了一个新的Install将我的版本升级到3.5。您是否删除并重新添加了平台?最好是您共享更多的项目,这样我就可以看到哪里出了问题,否则我无法进一步帮助。如果您已经删除并重新添加了平台,我已经在我的回答中添加了一些建议。我忽略了提到这是一个错误在尝试控制Android硬件后退按钮时出现的问题。问题始于平台的删除和重新设置。onDeviceReady事件成功触发。Cordova在所有其他方面都正常运行。花费大量时间搜索它为什么不工作,结果发现我没有添加cordova.js.谢谢。那不是
TAG
常量只用于Logcat日志记录吗?你为什么认为这与你的问题有关?是的,对于Android开发者,TAG被用作日志标记常量。那不是
TAG
常量只用于Logcat日志记录吗?你为什么认为这与你的问题有关?是的,对于Android开发者,不是AG用作log tag常量。