安卓监听返回键,提示用户退出
来源:互联网 发布:手机暗黑类游戏 知乎 编辑:程序博客网 时间:2024/06/06 09:53
为了避免用户误操作,添加这么一个提示的功能。
一般通过Toast和弹出对话框的方式提示,
第一种:通过Toast
1.重写onKeyDown方法
long waitTime = 2000; long touchTime = 0; @Override public boolean onKeyDown(int keyCode, KeyEvent event) { if(event.getAction() == KeyEvent.ACTION_DOWN && KeyEvent.KEYCODE_BACK == keyCode) { long currentTime = System.currentTimeMillis(); if((currentTime-touchTime)>=waitTime) { Toast.makeText(this, "再按一次退出", Toast.LENGTH_SHORT).show(); touchTime = currentTime; }else { finish(); } return true; } return super.onKeyDown(keyCode, event); }2.重写onBackPressed方法
long waitTime = 2000; long touchTime = 0; @Override public void onBackPressed() { long currentTime = System.currentTimeMillis(); if((currentTime-touchTime)>=waitTime) { Toast.makeText(this, "再按一次退出", Toast.LENGTH_SHORT).show(); touchTime = currentTime; }else { finish(); } }
需要注意的是:系统先是onKeyDown,如果return true了,就不会onBackPressed了。
第二种:通过弹出对话框的方式
@Overridepublic boolean onKeyDown(int keyCode, KeyEvent event) {// TODO Auto-generated method stubswitch (keyCode) {case KeyEvent.KEYCODE_BACK:AlertDialog.Builder build=new AlertDialog.Builder(this);build.setTitle("注意").setMessage("确定要退出吗?").setPositiveButton("确定", new DialogInterface.OnClickListener() {@Overridepublic void onClick(DialogInterface dialog, int which) {// TODO Auto-generated method stubfinish();}}).setNegativeButton("取消", new DialogInterface.OnClickListener() {@Overridepublic void onClick(DialogInterface dialog, int which) {// TODO Auto-generated method stub}}).show();break;default:break;}return false;//return super.onKeyDown(keyCode, event);}
- 安卓监听返回键,提示用户退出
- 安卓返回键监听:退出程序
- 安卓开发中监听手机返回键,让点击2次退出
- cocos2dx 安卓返回键的监听
- 主界面监听返回键,退出程序
- Unity 监听键盘 返回键退出程序
- 监听返回键、点击两次退出程序
- 安卓:实现返回键“再按一次退出程序”
- android 安卓TabActivity 两次返回键退出
- 安卓开发之双击返回键退出程序
- 安卓 再按一次返回键退出
- 安卓实现摁两次返回键退出程序
- 安卓实现双击返回键退出应用
- 安卓开发,按两次返回键退出应用
- 安卓实现摁两次返回键退出程序
- cordova 安卓 返回键 点击 两次 退出应用
- 用户在主界面点击返回键时,提示是否退出
- cordova 安卓 android 物理 返回键 监听和处理
- 由802.11 隐藏节点引发的一些思考
- SessionID的本质
- C# dataTable分页
- java面试系列题目2------转述
- 写一个函数int Func(int* A, int nSize), 使A把0移至后面,非0整数移至数组前面 并保持有序,返回值为原数据中第一个元素为0的下标。
- 安卓监听返回键,提示用户退出
- SourceInsight 操作整理
- csapp2e 家庭作业 4.47
- 深入理解HTTP协议(转)
- Struts2+JQuery+Json实例
- 转载_创业第一年易犯的8大错误
- 关于按键
- cookie、session、sessionid 与jsessionid
- R语言与显著性检验学习笔记