想要使用cordova/android禁用android的HardBack按钮

Posted

技术标签:

【中文标题】想要使用cordova/android禁用android的HardBack按钮【英文标题】:Want to Disable HardBack button of android using cordova/android 【发布时间】:2020-05-28 18:34:24 【问题描述】:

我想使用 Cordova 或 android 禁用 android 上的精装按钮我尝试在 android 和 android 中放置代码,但在 android 中,由 Cordova 创建的代码是唯一的主要活动,它禁用了我第一页上的后退按钮这是点击后退按钮时其他页面上的登录页面它退出应用程序或关闭应用程序我希望它在整个应用程序中禁用

这是android的主要活动代码:-

  @Override
    public void onBackPressed() 

    

    public boolean onKeyDown(int keyCode, KeyEvent event) 
//        if (keyCode == KeyEvent.KEYCODE_BACK && event.getRepeatCount() == 0) 
//             appView.loadUrl("javascript: onBackKeyDown()");
//            Log.d("logcat", "--------------click click-----------------------------");
//            super.onBackPressed();
//            return true;
//        
//        return (keyCode == KeyEvent.KEYCODE_BACK ? true : super.onKeyDown(keyCode, event));
        return true;
    

在 Cordova 上 onDeviceReady :-

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

function onBackKeyDown() 
    console.log("back keypressed")
    return false;

但是这段代码在 Cordova 上运行,但应用程序仍然关闭

【问题讨论】:

【参考方案1】:

只需 override onBackPressed 并评论 super 调用,不要返回任何内容。

override fun onBackPressed() 
   // super.onBackPressed()

并从您的活动中删除public boolean onKeyDown(int keyCode, KeyEvent event) 代码。

就是这样。

【讨论】:

不工作这仅适用于第一页 MainPage 作为 Cordova 构建代码,只有 mainActivity 其他页面应用程序在点击返回按钮时关闭

以上是关于想要使用cordova/android禁用android的HardBack按钮的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Cordova Android 应用程序中禁用复制粘贴、拼写检查、自动完成

禁用 Go 按钮提交表单(Sencha Touch 2、Cordova、Android)

Web 应用程序/Cordova 不支持 android 的哪些功能?

Cordova Android - 相机没有所有选项

科尔多瓦(安卓)。最小化应用程序时禁用音频播放

使用 Firebase 和 cordova-plugin-firebase 在 Apache Cordova Android 应用程序上构建问题