$Android连续按返回键两次实现退出程序

双击退出App的实现
本文介绍了一种在Android应用中实现双击返回键退出应用程序的方法。通过重写Activity的onKeyDown方法,检测返回键的点击时间间隔来实现。首次点击会提示用户再次点击将退出程序,并记录点击时间;第二次点击则结束程序。

  思路:重写Activity的onKeyDown方法,判断按键是不是返回键,如果是,则再判断按下的时间和上次按下的时间之间的差值(毫秒数)是不是大于2000,如果不大于,则用finish()方法结束程序。Demo如下:

 1 import android.app.Activity;
 2 import android.os.Bundle;
 3 import android.view.KeyEvent;
 4 import android.widget.Toast;
 5  
 6 public class TestActivity extends Activity {
 7         private long mExitTime;  //存在时间,初值为0,用于和当前时间(毫秒数)做差值
 8      
 9     @Override
10         public void onCreate(Bundle savedInstanceState) {
11                 super.onCreate(savedInstanceState);
12                 setContentView(R.layout.main);
13  
14         }
15     
16     @Override     
17         public boolean onKeyDown(int keyCode, KeyEvent event) {
18                 if (keyCode == KeyEvent.KEYCODE_BACK) {
19                         if ((System.currentTimeMillis() - mExitTime) > 2000) {  //mExitTime的初始值为0,currentTimeMillis()肯定大于2000(毫秒),所以第一次按返回键的时候一定会进入此判断
20 21                                 Toast.makeText(this, "再按一次退出程序", Toast.LENGTH_SHORT).show();
22                                 mExitTime = System.currentTimeMillis();
23  
24                         } else {
25                                 finish();
26                         }
27                         return true;
28                 }
29                 return super.onKeyDown(keyCode, event);
30         }
31 }

 

转载于:https://www.cnblogs.com/jiayongji/p/5374088.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值