{转}Android点击两次Back键退出当前程序
来源:互联网 发布:wps数据有效性 编辑:程序博客网 时间:2024/05/16 08:20
实现原理:onKeyDown()会捕获当前点击事件,如果当前keyCode等于BACK事件值就会执行ToQuitTheApp()方法。在ToQuitTheApp()方法中,首先判断isExit的值,如果为false的话,则置为true,同时会弹出提示,并在3000毫秒(3秒)后发出一个消息,在Handler中接收到消息后将isExit值还原成false。如果在发送消息间隔的3秒内,再次按了BACK键,则再次执行exit方法,此时isExit的值已为true,则会执行退出程序的方法。
主要代码:
package com.yc.toquitapp;import android.app.Activity;import android.content.Intent;import android.os.Bundle;import android.os.Handler;import android.os.Message;import android.view.KeyEvent;import android.widget.Toast;public class MainActivity extends Activity { private boolean isExit = false; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); // ClickTwiceBackToQuit } // 重写Activity中onKeyDown()方法 @Override public boolean onKeyDown(int keyCode, KeyEvent event) { if (keyCode == KeyEvent.KEYCODE_BACK) {// 当keyCode等于退出事件值时 ToQuitTheApp(); return false; } else { return super.onKeyDown(keyCode, event); } } //封装ToQuitTheApp方法 private void ToQuitTheApp() { if (isExit) { // ACTION_MAIN with category CATEGORY_HOME 启动主屏幕 Intent intent = new Intent(Intent.ACTION_MAIN); intent.addCategory(Intent.CATEGORY_HOME); startActivity(intent); System.exit(0);// 使虚拟机停止运行并退出程序 } else { isExit = true; Toast.makeText(MainActivity.this, "再按一次退出APP", Toast.LENGTH_SHORT).show(); mHandler.sendEmptyMessageDelayed(0, 3000);// 3秒后发送消息 } } //创建Handler对象,用来处理消息 Handler mHandler = new Handler() { @Override public void handleMessage(Message msg) {//处理消息 // TODO Auto-generated method stub super.handleMessage(msg); isExit = false; } };}
原文:https://www.cnblogs.com/yc-755909659/archive/2013/03/14/2959099.html
阅读全文
0 0
- {转}Android点击两次Back键退出当前程序
- 点击两次Back键退出当前程序
- 点击两次Back键退出当前程序
- android 两次点击back键退出程序
- Android点击两次Back键退出程序
- Android 点击back键两次退出程序
- Android实现点击两次Back退出程序
- Android连续点击两次Back键退出程序 分类: Android
- [Android] Android 两次Back键点击退出程序
- Android连续点击两次Back键退出程序
- Android连续点击两次Back键退出程序
- Android连续点击两次Back键退出程序
- Android连续点击两次Back键退出程序
- Android连续点击两次Back键退出程序
- Android连续点击两次Back键退出程序
- Android中连续点击两次BACK键退出程序
- Android连续点击两次Back键退出程序
- Android连续点击两次Back键退出程序
- 2017年11月23日训练笔记
- String、StringBuffer、StringBuilder三者之间的区别
- 图标输入框(一)
- Python 命令详解
- 个人总结44
- {转}Android点击两次Back键退出当前程序
- 迭代器
- C++ 11:delete关键词和一条《Effective C++》的过时条款
- nginx服务器配置支持https
- 4.15 反编译和文档生成器(略)
- set公共函数
- resultType和resultMap的区别
- 数据库学习笔记2
- 读《我编程,我快乐》——程序员职业规划之道