美文网首页
Android 双击返回键退出

Android 双击返回键退出

作者: I_Gisvity | 来源:发表于2017-02-05 15:01 被阅读0次

Android 双击退出程序在开发中经常用到,其通过监听返回键动作来触发相应的行为。

具体思路:

Activity中监听按键行为(onKeyDown,onKeyUp),再通过两次点击时时间差来判断用户是否连续点击退出按钮,进而执行相应的操作。

onKeyUp

//记录用户首次点击返回键的时间
private long firstTime=0;

@Override
public boolean onKeyUp(int keyCode, KeyEvent event) {
    switch (keyCode){
        case KeyEvent.KEYCODE_BACK:
            long secondTime=System.currentTimeMillis();
            if(secondTime-firstTime>2000){
                Toast.makeText(MainActivity.this,"再按一次退出程序--->onKeyUp",Toast.LENGTH_SHORT).show();
                firstTime=secondTime;
                return true;
            }else{
                System.exit(0);
            }
            break;
    }
    return super.onKeyUp(keyCode, event);
}

onKeyDown

//记录用户首次点击返回键的时间
private long firstTime=0;

@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
    if(keyCode==KeyEvent.KEYCODE_BACK && event.getAction()==KeyEvent.ACTION_DOWN){
        if (System.currentTimeMillis()-firstTime>2000){
            Toast.makeText(MainActivity.this,"再按一次退出程序--->onKeyDown",Toast.LENGTH_SHORT).show();
            firstTime=System.currentTimeMillis();
        }else{
            finish();
            System.exit(0);
        }
        return true;
    }
    return super.onKeyDown(keyCode, event);
}

相关文章

网友评论

      本文标题:Android 双击返回键退出

      本文链接:https://www.haomeiwen.com/subject/wzdeittx.html