【Android】双击返回键,退出android应用程序 双击两次退出程序提示功能 三种实现方法
来源:互联网 发布:linux $ 编辑:程序博客网 时间:2024/05/22 07:59
作者:程序员小冰,CSDN博客:http://blog.csdn.net/qq_21376985
QQ986945193 微博:http://weibo.com/mcxiaobing
【Android】双击返回键,退出android应用程序 双击两次退出程序提示功能 三种实现方法
最下面有项目源代码下载地址。当然,还是希望大家掌握这个小功能。
package davidsystemapp.qq986945193.com.davidsystemapp;import android.support.v7.app.AppCompatActivity;import android.os.Bundle;import android.util.Log;import android.view.KeyEvent;import android.widget.Toast;import java.util.Timer;import java.util.TimerTask;/** * @author :程序员小冰 * @GitHub: https://github.com/QQ986945193 * @新浪微博 :http://weibo.com/mcxiaobing * @CSDN博客: http://blog.csdn.net/qq_21376985 * @交流Qq :986945193 */public class MainActivity extends AppCompatActivity { private Toast toast; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); toast = Toast.makeText(getApplicationContext(), "再按一次退出程序", Toast.LENGTH_SHORT); } /** * 双击两次退出程序提示 第一种方式 */ /* boolean isState = true;//设置双击退出的变量 public void onBackPressed() { if (isState) { //isState初始值为true isState = false; Toast.makeText(this, "再按一次退出程序", Toast.LENGTH_SHORT).show(); new Timer().schedule(new TimerTask() { @Override public void run() { // TODO Auto-generated method stub isState = true; } }, 2000); } else { finish(); } }*/ /** * 双击两次退出程序提示 第二种方式 */ public boolean onKeyDown(int keyCode, KeyEvent event) { if (keyCode == KeyEvent.KEYCODE_BACK) { quitToast(); return true; } return super.onKeyDown(keyCode, event); } private void quitToast() { if (null == toast.getView().getParent()) { toast.show(); } else { finish();// System.exit(0); } } /** * 双击两次退出程序提示 第三种方式 * <p/> * https://github.com/QQ986945193 */ // 1.on..2.开发者实现 3.系统调用 // 条件 :点击物理键盘或者软件盘 // int keyCode按键编号 /* long[] times = new long[2]; @Override public boolean onKeyDown(int keyCode, KeyEvent event) { // TODO Auto-generated method stub if (keyCode == KeyEvent.KEYCODE_BACK) { // ① 找出回调函数 // ② 点击时间 time1 time2 // ③ 时间 间隔 <2000 退出 // ④ 提示再点一次 times[0] = times[1]; times[1] = System.currentTimeMillis(); if (times[1] - times[0] < 2000) { finish(); } else { Toast.makeText(getBaseContext(), "再点一次退出", Toast.LENGTH_SHORT).show(); } return true;// 消费事件 } return super.onKeyDown(keyCode, event); }*/}
源代码项目下载地址(欢迎star fork):https://github.com/QQ986945193/DavidSystemApp
1 0
- 【Android】双击返回键,退出android应用程序 双击两次退出程序提示功能 三种实现方法
- Android双击两次返回按钮退出程序
- Android 双击返回键退出程序 实现
- Android 双击返回键退出程序 实现
- Android 双击返回键退出程序 实现
- Android 双击返回键退出程序 实现
- Android 双击返回键退出程序 实现
- Android 双击返回键退出程序 实现
- Android 双击返回键退出程序 实现
- Android 双击返回键退出程序 实现
- Android 双击返回键退出程序 实现
- Android双击返回键退出程序的实现方法
- Android双击返回键退出程序的实现方法
- Android双击返回键退出程序的实现方法
- Android双击返回键退出程序的实现方法
- Android双击返回键退出程序的实现方法
- Android双击返回键退出程序的实现方法
- Android应用程序双击退出功能实现
- uboot - 主Makefile分析【2】
- 【搜索引擎】的通用高级语法
- PSR [0-4]规范
- ubuntu14.04,如何使用鼠标右键菜单在shell中打开选择项目?
- Bounds.IntersectRay 相交射线
- 【Android】双击返回键,退出android应用程序 双击两次退出程序提示功能 三种实现方法
- 3.7.1 - Strings
- gitlab和sourcetree配置ssh绕坑
- Android-JSON解析
- 谁说程序员总是没对象?我跟你急。。
- 基于HTML5的WebGL呈现A星算法的3D可视化
- 3.7.2 - Escape Sequences
- Git工作流指南:Gitflow工作流
- 微信服务器发送三次重复的排重问题