禁用或者重写系统自带的返回键

前言

开发项目时,如果不禁用或者重写系统自带的返回键,将会导致在某个页面点击系统自带返回键时直接退出整个app,或者可能与自己写的返回键冲突,本文就介绍了如何禁用或者重写系统返回键。


一、禁用系统返回键

代码如下(示例):

@Override
    public boolean dispatchKeyEvent(KeyEvent event) {
        if (event.getKeyCode() == KeyEvent.KEYCODE_BACK) {
            //do something.
            return true;
        } else {
            return super.dispatchKeyEvent(event);
        }
    }

二、使用系统返回键,页面1返回到页面2

这个应该是用得最多的,因为禁用系统返回键,个人觉得用户体验不是很好,比较符合逻辑的应该是从当前界面跳转到上一个界面。

代码如下(示例):

@Override
    public boolean onKeyDown(int keyCode, KeyEvent event) {
        if (keyCode == KeyEvent.KEYCODE_BACK) {
            if (progressDialog != null) {
                boolean showing = progressDialog.isShowing();
                if (showing) {
                    progressDialog.dismiss();
                }
            }
            Intent intentLoginActivity = new Intent(yemian1Activity.this, yemian2Activity.class);
            startActivity(intentLoginActivity);
            finish();
        }
        return false;
    }

总结

一个项目有很多界面,我们经常会忘记每个界面都会有系统自带的返回键,导致项目上线后,用户点击系统自带的返回键,直接跳出整个程序,显得系统出问题。所以这个千万不要忘记加。(之所以写这个,是因为刚开始接触时,并不知道怎么在系统自带的返回键下跳转页面,当时就在想要是一搜就搜到该多好。写给一如当时的我)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值