按两次返回键退出(在按一次退出程序)

private long exitTime = 0;
    @Override
    public boolean onKeyDown(int keyCode, KeyEvent event) {

        if (keyCode == KeyEvent.KEYCODE_BACK
                && event.getAction() == KeyEvent.ACTION_DOWN) {
            if ((System.currentTimeMillis() - exitTime) > 2000) { // System.currentTimeMillis()无论何时调用,肯定大于2000

                Toast.makeText(getApplicationContext(), "再按一次退出程序",
                        Toast.LENGTH_SHORT).show();
                exitTime = System.currentTimeMillis();
            } else {
                finish();
                System.exit(0);
            }
            return true;
        }
        return super.onKeyDown(keyCode, event);
    }

在类里面定义一个全局变量,比如long exitTime =0;就好了。无所谓多少了。

时间: 2024-10-10 15:07:40

按两次返回键退出(在按一次退出程序)的相关文章

android 按两次返回键退出

我们可以在很多应用中都能看到按两次返回键退出 , 其实这个功能实现很容易, 下面就是实现的代码 , 把它放到你的程序中你的程序就能按两次返回键退出啦  , 这个功能是为了避免误点而把程序退出了 ,给你的程序也加上这个简单实用的功能把 : package com.xuchao.test; import android.app.Activity; import android.os.Bundle; import android.view.KeyEvent; import android.widget

Android按两次返回键退出应用

最近工作比较忙,所以只好在周末写点博客了,呵呵.在3年的Android工作中积累了不少经验,我会慢慢把我在工作遇到的经验写给大家!好了,现在就先贴一段代码,是关于按两次返回键退出应用的实战代码! private static long exitTime = 0; public static void onBackPressedAgain(Activity paramActivity) { Log.i(TAG, "onBackPressedAgain " + paramActivity.

Android实现点击两次返回键退出

在做android应用是我们经常要判断用户对返回键的操作,一般为了防止误操作都是在用户连续按下两次返回键的时候提示用户是否退出应用程序. 原理: 监听back键的按下,需要重写onKeyDown()方法,判断两次按下的时差,如果小于2秒,就退出,反之亦然. 第一种: package com.example.appexitdemo; import android.os.Bundle; import android.support.v7.app.ActionBarActivity; import a

【转】Android实现点击两次返回键退出

在做安卓应用是我们经常要判断用户对返回键的操作,一般为了防止误操作都是在用户连续按下两次返回键的时候提示用户是否退出应用程序. 第一种实现的基本原理就是,当按下BACK键时,会被onKeyDown捕获,判断是BACK键,则执行exit方法. 在exit方法中,会首先判断isExit的值,如果为false的话,则置为true,同时会弹出提示,并在2000毫秒(2秒)后发出一个消息,在 Handler中将此值还原成false.如果在发送消息间隔的2秒内,再次按了BACK键,则再次执行exit方法,此

Android连续点击两次返回键退出应用,提示“再按一次退出应用"

// 定义一个long型变量,用于判断两次点击的间隔 private long exitTime: // 实现返回键的点击事件 public boolean onKeyDown(int keyCode, KeyEvent event) { if (keyCode == KeyEvent.KEYCODE_BACK) { exit(); // 在这里进行点击判断 return false; } return super.onKeyDown(keyCode, event); } public void

连按两次返回键退出应用

虽然是连按两次,不过也要设定间隔时间不能超过1.5秒 代码一(简单明了): private long touchBackTime = 0;//第二次虽然不再是0,不过依然起作用 @Override public boolean onKeyDown(int keyCode, KeyEvent event) { if (keyCode == KeyEvent.KEYCODE_BACK) {//如果按的是返回键 if ((System.currentTimeMillis() - touchBackTi

【Android笔记】Android中实现“点击两次返回键退出”

用户退出应用前给出一个提示是很有必要的,因为可能是用户并不真的想退出,而只是一不小心按下了返回键,大部分应用的做法是在应用退出去前给出一个Dialog,我觉得这样不太友好,用户还得移动手指去按dialog中的按钮.个人觉得“再按一次返回键退出程序”是best practice,实现也很简单,直接上代码: 1 private long exitTime = 0; 2 3 @Override 4 public boolean onKeyDown(int keyCode, KeyEvent event

Android Toast 提示按两次返回键退出

1 public class MainActivity extends Activity { 2 3 @Override 4 protected void onCreate(Bundle savedInstanceState) { 5 super.onCreate(savedInstanceState); 6 setContentView(R.layout.activity_main); 7 8 } 9 10 long startTime; 11 12 @Override 13 public v

Android 实现点击两次返回键退出应用

第一步,定义一个变量,用于记录上一次按返回争键时间 private long lastBackKeyTime; 第二步,重写Activity中onKeyDown方法 @Override public boolean onKeyDown(int keyCode, KeyEvent event) { switch (keyCode) { case KeyEvent.KEYCODE_BACK: long delay = Math.abs(System.currentTimeMillis() - las

android 按两次返回键退出应用

private long mExitTime; @Override public boolean onKeyDown(int keyCode, KeyEvent event) { if (keyCode == KeyEvent.KEYCODE_BACK) { //设置回退 if ((System.currentTimeMillis() - mExitTime) > 2000) { Toast.makeText(this, "再按一次退出程序", Toast.LENGTH_SHOR