Android 再按一次退出程序的实现方法

 更新时间:2014年01月10日 16:35:38   作者:  
抽空研究了一下"再按一次退出程序"的实现方式,直接上代码(请自动忽略无关代码)

第一种(Handler+标志位)

复制代码 代码如下:

private boolean isExit;
    private Handler handler;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        handler = new Handler(){
            @Override
            public void handleMessage(Message msg) {
                super.handleMessage(msg);
                isExit = false;
            }
        };
    }
  public boolean onKeyDown(int keyCode, KeyEvent event) {
        if(keyCode==KeyEvent.KEYCODE_BACK){
            if(!isExit){
                isExit = true;
                handler.sendEmptyMessageDelayed(0, 1500);
                Toast.makeText(this, "再按一次推出程序", 1000).show();
                return false;
            }else{
                finish();
            }
        }
        return super.onKeyDown(keyCode, event);
    }

第二种(记录点击的时间)

复制代码 代码如下:

private long exitTimeMillis = System.currentTimeMillis();
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
    }

    @Override
    public boolean onKeyDown(int keyCode, KeyEvent event) {
        if(keyCode==KeyEvent.KEYCODE_BACK){
            long currentTime = System.currentTimeMillis();
            if(currentTime-exitTimeMillis==0||currentTime-exitTimeMillis>1500){
                exitTimeMillis = System.currentTimeMillis();
                Toast.makeText(this, "再按一次推出程序", 1000).show();
                return false;
            }else{
                finish();
            }
        }
        return super.onKeyDown(keyCode, event);
    }

相关文章

  • Android手机卫士之设置密码对话框

    Android手机卫士之设置密码对话框

    这篇文章主要为大家详细介绍了Android手机卫士之设置密码对话框,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2016-10-10
  • Android获取手机联系人信息

    Android获取手机联系人信息

    这篇文章主要为大家详细介绍了Android获取手机联系人信息的相关资料,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2016-10-10
  • Android 读取Properties配置文件的小例子

    Android 读取Properties配置文件的小例子

    这篇文章主要介绍了Android 读取Properties配置文件的小例子,有需要的朋友可以参考一下
    2014-01-01
  • kotlin 中的构造函数的作用

    kotlin 中的构造函数的作用

    这篇文章主要介绍了Kotlin中的构造函数,包括主构造函数和辅助构造函数的作用,主构造函数用于初始化类的属性,而辅助构造函数通过委托给主构造函数来实现更灵活的初始化方式,感兴趣的朋友一起看看吧
    2025-03-03
  • Android中TextView动态设置缩进距离的方法

    Android中TextView动态设置缩进距离的方法

    项目需求如果在项目中第一行文字需要添加布局的情况我们应该怎么做呢,经过一番考虑和查找我最终选择了缩进的方式解决这个问题,这篇文章主要给大家介绍了关于Android中TextView动态设置缩进距离的相关资料,需要的朋友可以参考下
    2022-04-04
  • Android pcm转wav格式方法

    Android pcm转wav格式方法

    本篇文章主要给大家讲述了在Android开发中将pcm格式转wav格式的方法和代码实例,需要的朋友跟着学习下吧。
    2017-12-12
  • Android全面屏适配与判断超详细讲解

    Android全面屏适配与判断超详细讲解

    这篇文章主要介绍了Android 全面屏适配及判断是否为全面屏,全面屏手势和虚拟导航栏的判断,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习吧
    2023-01-01
  • Android NavigationView头部设置监听事件

    Android NavigationView头部设置监听事件

    这篇文章主要为大家详细介绍了Android NavigationView头部设置监听事件,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-10-10
  • 详解Android如何实现自定义的动画曲线

    详解Android如何实现自定义的动画曲线

    最近在写动画相关的篇章,经常会用到 Curve 这个动画曲线类,那这个类到底怎么实现的?如果想自己来一个自定义的动画曲线该怎么弄?本文将为大家详细解答
    2022-04-04
  • Android基于绘制缓冲实现烟花效果

    Android基于绘制缓冲实现烟花效果

    这篇文章主要介绍了Android基于绘制缓冲实现烟花效果,文中通过代码示例和图文结合介绍的非常详细,对大家的学习或工作有一定的帮助,感兴趣的同学可以自己动手尝试一下
    2024-03-03

最新评论