Android连续点击两次Back键退出程序

思路1:记录上次点击的时间,与本次点击的时间比较,当两次时间间隔小于一定值时,退出,否则提示“再按一次退出程序”,同时更新上次点击时间

     
private long firstTime = 0;  
   @Override  
public boolean onKeyUp(int keyCode, KeyEvent event) {  
       // TODO Auto-generated method stub  
       switch(keyCode)  
       {  
       case KeyEvent.KEYCODE_BACK:  
            long secondTime = System.currentTimeMillis();   
             if (secondTime - firstTime > 2000) {                                         //如果两次按键时间间隔大于2秒,则不退出  
                 Toast.makeText(this, "再按一次退出程序", Toast.LENGTH_SHORT).show();   
                 firstTime = secondTime;//更新firstTime  
                 return true;   
             } else {                                                    //两次按键小于2秒时,退出应用  
            System.exit(0);  
             }   
           break;  
       }  
     return super.onKeyUp(keyCode, event);  
   }

思路2:开线程延时处理

private int mBackKeyPressedTimes = 0;  
  
        @Override  
        public void onBackPressed() {  
                if (mBackKeyPressedTimes == 0) {  
                        Toast.makeText(this, "再按一次退出程序 ", Toast.LENGTH_SHORT).show();  
                        mBackKeyPressedTimes = 1;  
                        new Thread() {  
                                @Override  
                                public void run() {  
                                        try {  
                                                Thread.sleep(2000);  
                                        } catch (InterruptedException e) {  
                                                e.printStackTrace();  
                                        } finally {  
                                                mBackKeyPressedTimes = 0;  
                                        }  
                                }  
                        }.start();  
                        return;  
                      else{  
                               this.activity.finish();  
                            }  
                }  
                super.onBackPressed();  
        }
时间: 2024-08-03 23:18:10

Android连续点击两次Back键退出程序的相关文章

安卓---连续点击两次返回键退出程序---二级界面的退出程序

法一:实现方式,通过记录按键时间计算时间差实现: import android.app.Activity; import android.os.Bundle; import android.view.KeyEvent; import android.widget.Toast; public class MainActivity extends Activity { private long exitTime = 0; @Override protected void onCreate(Bundl

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

android连续点击两次返回键退出代码

private long exitTime = 0; @Overridepublic boolean onKeyDown(int keyCode, KeyEvent event) { if(keyCode == KeyEvent.KEYCODE_BACK && event.getAction() == KeyEvent.ACTION_DOWN){ if((System.currentTimeMillis()-exitTime) > 2000){ Toast.makeText(getA

点击两次返回键退出程序

总的来说,实则是使用onKeyDown方法进行监听按钮点击事件,并作出相应处理,一共有两种方式实现该功能. 第一种是使用消息传递机制,使用Handle()传递消息的间隔时间内若进行了再次点击返回键则退出程序 代码如下: 1 private static boolean isExit = false; 2 3 Handler mHandler = new Handler(){ 4 5 @Override 6 public void handleMessage(Message msg) { 7 //

安卓点击两次返回键退出程序

退出部分的代码: 1 private void exit() { 2 if (!isExit) { 3 isExit = true; 4 Toast.makeText(getApplicationContext(), "再按一次退出程序", 5 Toast.LENGTH_SHORT).show(); 6 // 利用handler延迟发送更改状态信息 7 mHandler.sendEmptyMessageDelayed(0, 2000); 8 } else { 9 Utils.logou

android实现点击两次返回键实现退出功能

在使用android平台的app是我们经常会发现点击两次返回键会提示是否退出的功能,下面讲讲此功能是如何实现的(此方法比较简单) 第一种方法是对系统返回键进行监听,定义一个变量记录按键时间,通过计算时间差来实现该功能,代码如下: //退出时的时间private long mExitTime;//对返回键进行监听@Overridepublic boolean onKeyDown(int keyCode, KeyEvent event) { if (keyCode == KeyEvent.KEYCO

Android_按两次返回键退出程序和长按返回键退出程序

以上两个功能主要是参考了一下博客的: http://blog.csdn.net/chenshijun0101/article/details/7682210 http://blog.csdn.net/winlinking/article/details/6596455 方法一: 按两次返回键退出程序: Activity: public class Back2FinishAppActivity extends Activity { Exit exit = new Exit(); /** Calle

WP8.1 双击两次返回键退出程序

在实现Windows Phone上实现点按两次返回键退出程序, 一种方法是使用Coding4Fun提供的ToastPrompt, 使用方法如下: 1. 安装引用, 打开Package Manager Console. 输入下列命令以安装 Coding4Fun.Toolkit.Controls Install-Package Coding4Fun.Toolkit.Controls 输入下列命令以安装 GalaSoft.MvvmLight.Messaging Install-Package Mvvm

android 连续点击退出程序

package com.test.twiceexit; import java.util.Timer; import android.app.Activity;import android.os.Bundle;import android.os.Handler;import android.os.Message;import android.view.KeyEvent;import android.view.Menu;import android.widget.Toast; public cla