我正在制作一款基于phonegap和cordova的Android应用程序,并试图配置浸入式模式,以便它始终可以正常工作。当应用程序刚打开或恢复时,当前脚本会运行。问题是这个应用程序需要填写一些文本字段,但每次你调用android键盘时,沉浸式模式将停止工作并且不会被重新打开。使用给定的phonegaps事件列表我不知道如何解决它。一种方法是绑定在app中按下的每个按钮再次调出功能,但是在没有必要的情况下一遍又一遍地调出这个功能似乎很愚蠢。
window.ImmersiveMode = {
initialize: function()
{
this.bindEvents();
console.log("Immersify is running");
},
// Bind Event Listeners
bindEvents: function()
{
document.addEventListener('deviceready', this.onDeviceReady, false);
document.addEventListener('resume', this.onResume,false);
document.addEventListener('pause', this.onPause, false);
},
onDeviceReady: function()
{
Immersify.enableSticky();
},
onResume: function()
{
Immersify.enableSticky();
},
onPause: function()
{
Immersify.disable();
},
};
ImmersiveMode.initialize();
答案 0 :(得分:0)
我有同样的问题,我想我有坏消息。我做过一些研究,那里有一些研究。是全屏模式的错误。当它隐藏在hidekeyboard上并且没有触发showkeyboard事件。仅在全屏模式关闭时。检查此链接以更好地了解错误:
https://issues.apache.org/jira/browse/CB-392
如果你想知道这是事件:
document.addEventListener(' hidekeyboard',this.onKeyboardHide,false); document.addEventListener(' showkeyboard',this.onKeyboardHide,false);
抱歉这个坏消息! :/
答案 1 :(得分:0)
我遇到了同样的问题。即使沉浸式模式(全屏)处于活动状态,使用ionic-plugin-keyboard也会触发这些事件。
所以,安装该插件并像这样使用它:
window.addEventListener('native.keyboardhide', event => { console.log(event); });