ionic2 安卓物理按键的一点小发现

前一久在做一个以ionic2的小项目,在安卓真机调试中遇到了一个小问题,就是类似时间选择器、城市选择器、弹窗等没有办法被返回,找了好长时间资料没有头绪,最近忙于考试,在空闲时间又找,发现了一篇文章,找到了解决方法。
废话不多说,贴码:

registerBackButtonAction(){
this.platform.registerBackButtonAction(() => {
const overlay = this.app._appRoot._overlayPortal.getActive(); //这里返回各种弹窗,选择器社么的,最好放在最上面
if(overlay && overlay.dismiss) {
overlay.dismiss();
return;
}
const nav = this.app.getActiveNav(); 
let activeVC = nav.getActive();
let page = activeVC.instance;
if(this.keyboard.isOpen) {
this.keyboard.close(); //关闭键盘
}
if(this.menu.isOpen()){
this.menu.close(); //关闭侧栏菜单
return;
}
//当前页面非tab栏
if (page instanceof TabsPage) {
this.app.goBack();
return;
}
if(nav.canGoBack()) {
nav.pop();
}else{
this.showExit(); //这里是退出app的方法,自己按具体需求写
}
}, 1);
}

这个是注册返回按键的函数,写在app.component.ts中,并且在platform.ready().then()中调用,就ok了,不要忘记引入依赖。

个人一点点心得,如有错误,欢迎指正讨论-

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容