返回键退出程序与不退出程序应用

    今天公司老板突然跟我说客户这有一个需求想要实现一下,就是在使用app时,按返回键时,不退出应用程序,相当于home 键的功能,然后我就将退出程序的功能和不退出程序的功能进行了一个比较在这里。

    1,首先是第一种:当按一次返回键就退出程序,当再次进入app,应用相当于重新进去;方法就是在 activity中什么都不用重写方法,直接实现所有的功能就可以;

    2,第二种:当按两次返回键时再退出程序,当再次进入app,应用相当于重新进入,到应用的初始位置,展示第一个activity,此方法不解释那么多,直接复制代码:

// 再按一次退出程序
/*public boolean dispatchKeyEvent(KeyEvent event) {
    if (event.getKeyCode() == KeyEvent.KEYCODE_BACK && event.getAction() == KeyEvent
.ACTION_DOWN && event.getRepeatCount() == 0) {
        long current = System.currentTimeMillis();
        if (current - backPressTime > 2000) {
            backPressTime = current;
            Toast.makeText(MainActivity2.this, "再按一次退出程序", Toast.LENGTH_LONG).show();
        } else {
            App.getApp().quit();
            App.getApp().eqList = null;
        }
        return true;
    }
    return super.dispatchKeyEvent(event);
}*/

上面的方法中 需要调用一个系统的方法,并且判断两次按返回键的中间间隔时间不能超过2秒,超过两秒再此进行此方法

    3,第三种就是当按一次返回键时,返回主界面,但不退出应用程序,相当于home键效果,直接复制代码:

@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
    if(keyCode == KeyEvent.KEYCODE_BACK){
        Intent i = new Intent(Intent.ACTION_MAIN);
        i.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
        i.addCategory(Intent.CATEGORY_HOME);
        startActivity(i);
        return true;
    }
    return super.onKeyDown(keyCode, event);
}
在主activity中重写此方法,就可以完成。
  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值