繁体   English   中英

离子防止硬件后退按钮退出应用程序

[英]Ionic prevent exit app on hardware back button

我正在使用离子来开发混合应用程序。 但最近我发现每当我点击硬件后退按钮时,无论在哪个页面上,应用程序都会退出。 我尝试添加以下代码,它确实显示了警告框,但这并不会阻止应用程序退出(不会单击警报框)。

$ionicPlatform.onHardwareBackButton(function() {
  alert("click on hardware back button");
 }

如何阻止应用程序退出硬件后退按钮?

通常,当您在根视图上并且堆栈上没有历史记录时,应用程序存在。

您可以拦截事件registerBackButtonAction并取消操作。

当您运行应用程序时,必须注册均匀:

.run(function($ionicPlatform) {
        $ionicPlatform.registerBackButtonAction(function(e) {
            e.preventDefault();
        }, 1000);   
});

这是签名:

registerBackButtonAction(callback, priority, [actionId])

正如您所看到的那样,优先级是第二个参数。 根据文件:

现有后退按钮挂钩的优先级如下:
返回上一个视图= 100
关闭侧边菜单= 150
解除模态= 200
关闭行动表= 300
关闭popup = 400
关闭加载overlay = 500
您的后退按钮操作将覆盖上述每个优先级低于您提供的优先级的操作。 例如,分配优先级为101的操作将覆盖“返回上一个视图”操作,但不会覆盖任何其他操作。

我用1000来覆盖其他每个动作。 注册和收听它总是更好,即使你想要在取消事件之前检查事件。 如果您遵循此路径,并且在某些时候您的应用程序通过某种导航变得更加复杂,您将无法退出应用程序。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM