在Angular4 Cordova中禁用背部按钮



我在Cordova顶部使用Angular 4,因此我需要在Android中禁用电话后按钮。谁能分享如何禁用它?

您可以创建按钮事件,并且什么也不做,因此不会向后移动:

declare var device;
...
document.addEventListener("deviceready", onDeviceReady, false);
function onDeviceReady() {
  console.log(device);
  if(device.platform == 'android' || device.platform == 'Android'){
    document.addEventListener("backbutton", onBackKeyDown, false);
  }
  function onBackKeyDown(){
    console.log("Does nothing");
  }
}

PD:您需要安装插件Cordova-Plugin设备

一种简单的方法是推动初始的虚拟历史记录条目,然后覆盖窗口的Onpopstate事件,以始终再次推动虚拟入口。这样,当用户按下返回按钮时,您的应用程序基本上无需执行任何操作。

// If using TypeScript:
declare var window:any;    
// In your App Boot function (for example app.component constructor):
window.history.pushState("BackLock", null, "");
window.onpopstate = (evt) => {
    // evt.preventDefault(); might work as an alternative
    window.history.pushState("BackLock", null, "");
    return; 
}

最新更新