Android技术23:Android使用返回键退出实现

Android中通过双击返回键退出应用

在Android应用程序,经常可以通过双击返回键退出应用程序,例如QQ空间。下面将通过代码演示该过程。

1.设置退出标志符号

boolean isExist=false;默认为fasle

2.覆写onKeyDown()方法

监听Back键,当keyCode==KeyEvent.KEYCODE_BACK,则执行将isExist设置为ture,当第二次按back键时,应用程序退出,但两次时间间隔需要在一定时间内。

 1 @Override
 2     public boolean onKeyDown(int keyCode, KeyEvent event) {
 3         if(keyCode==KeyEvent.KEYCODE_BACK){
 4             if(!isExist){
 5                 isExist=true;
 6                 Toast.makeText(getApplicationContext(), "再按一次退出程序", Toast.LENGTH_SHORT).show();
 7                 handler.sendEmptyMessageDelayed(0,2000);
 8                 return false;
 9             }
10             else{
11                 Intent intent=new Intent(Intent.ACTION_MAIN);
12                 intent.addCategory(Intent.CATEGORY_HOME);
13                 startActivity(intent);
14                 System.exit(0);
15             }
16         }
17         return super.onKeyDown(keyCode, event);
18     }

3.设置Handler对象

1 private Handler handler=new Handler(){
2         public void handleMessage(android.os.Message msg) {
3             isExist=false;       //取消退出标志位
4         };
5     };

4.基本思想

当在当前Activity下,按下Back键,onKeyDown()中获取事件,识别是否是Back键,如果是Back键,则将退出标志isExist设置为true,然后启动handler.sendEmptyMessageDelayed()方法,2秒后发送一个消息队列,在消息处理方法中,将标志isExist设置为false。如果在2秒内又按下Back键,则退出应用程序。

时间: 2024-11-07 08:47:03

Android技术23:Android使用返回键退出实现的相关文章

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

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监听返回键、Home键+再按一次返回键退出应用

Android监听返回键需重写onKeyDown()方法 Home键keyCode==KeyEvent.KEYCODE_HOME [java] view plain copy @Override public boolean onKeyDown(int keyCode, KeyEvent event) { if (keyCode == KeyEvent.KEYCODE_BACK && event.getRepeatCount() == 0) { //++自定义点击事件 return tru

点击返回键退出popupwindow的方法

点击返回键退出popupwindow mPopupWindow.setFocusable(true); 这句非常重要,对背景不会有影响 mPopupWindow.setBackgroundDrawable(new BitmapDrawable()); 然后再设置它的键监听器 mView.setOnKeyListener(onKeyListener); private OnKeyListener onKeyListener=new OnKeyListener() { @Override publi

app点击返回键不退出,双击返回键退出

直接代码 // 按返回键的时候返回上一页面不退出,goBack()表示返回webView的上一页面 public boolean onKeyDown(int keyCoder, KeyEvent event) { if(!webView1.canGoBack() ){ exit(); return false; } if ( keyCoder == KeyEvent.KEYCODE_BACK) { webView1.goBack(); exit(); return false; } else{

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

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

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

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