zoukankan      html  css  js  c++  java
  • Android 实现按两次返回键退出程序


    // 是否退出程序
    private static Boolean isExit = false;
    // 定时触发器
    private static Timer tExit = null;
    	public boolean onKeyUp(int keyCode, KeyEvent event) {
    
    		if (keyCode == KeyEvent.KEYCODE_BACK) {
    			if (isExit == false) {
    				isExit = true;
    				if (tExit != null) {
    					tExit.cancel(); // 将原任务从队列中移除
    				}
    				// 重新实例一个定时器
    				tExit = new Timer();
    				TimerTask task = new TimerTask() {
    					@Override
    					public void run() {
    						isExit = false;
    					}
    				};
    				Toast.makeText(this, "再按一次退出程序", Toast.LENGTH_SHORT).show();
    				// 延时两秒触发task任务
    				tExit.schedule(task, 2000);
    			} else {
    				finish();
    				System.exit(0);
    			}
    			return true;
    		}
    		return super.onKeyUp(keyCode, event);
    	}


    原理很简单:定义一个TimerTask定时器和一个是否退出程序的标识isExit,第一次按返回键,赋值isExit标识为true,开启定时器TimerTask 任务,两秒钟后赋值isExit标识为false,所以用户在这两秒中内再按一次返回键,则退出程序。否则定时器TimerTask任务执行,标志为false。原理就是这么简单~


  • 相关阅读:
    webpack学习_管理输出(管理资源插件)
    vue路由
    vue动态组件,组件缓存
    vue组件间传参
    模块化
    安装Vue脚手架,创建Vue项目
    Vue常用指令
    VUE概述
    小程序调用微信支付接口
    Android音视频开发之-WebRTC技术实践
  • 原文地址:https://www.cnblogs.com/javawebsoa/p/3069880.html
Copyright © 2011-2022 走看看