Android 如何监听返回键点击事件,并创建一个退出对话框,

防止自己写的应用程序不小心点击退出键而直接退出。自己记录下这个简单的demo,备用。

注:如下代码当时是从网上copy过来的,现在忘了它出自哪个原作者了,在此说声抱歉。

源码如下:

[html]  view plain copy
  1. public class BackKeyTest extends Activity
  2. {
  3. /** Called when the activity is first created. */
  4. @Override
  5. public void onCreate(Bundle savedInstanceState)
  6. {
  7. super.onCreate(savedInstanceState);
  8. setContentView(R.layout.main);
  9. }
  10. @Override
  11. public boolean onKeyDown(int keyCode, KeyEvent event)
  12. {
  13. if (keyCode == KeyEvent.KEYCODE_BACK )
  14. {
  15. // 创建退出对话框
  16. AlertDialog isExit = new AlertDialog.Builder(this).create();
  17. // 设置对话框标题
  18. isExit.setTitle("系统提示");
  19. // 设置对话框消息
  20. isExit.setMessage("确定要退出吗");
  21. // 添加选择按钮并注册监听
  22. isExit.setButton("确定", listener);
  23. isExit.setButton2("取消", listener);
  24. // 显示对话框
  25. isExit.show();
  26. }
  27. return false;
  28. }
  29. /**监听对话框里面的button点击事件*/
  30. DialogInterface.OnClickListener listener = new DialogInterface.OnClickListener()
  31. {
  32. public void onClick(DialogInterface dialog, int which)
  33. {
  34. switch (which)
  35. {
  36. case AlertDialog.BUTTON_POSITIVE:// "确认"按钮退出程序
  37. finish();
  38. break;
  39. case AlertDialog.BUTTON_NEGATIVE:// "取消"第二个按钮取消对话框
  40. break;
  41. default:
  42. break;
  43. }
  44. }
  45. };
  46. }

小结:

Android手机常用的三个键,home键,back键及menu键。
在应用程序里我们经常会对它们经常进行一定的处理,方便用户使用。
首先我们要明确点击三个键时系统干了什么事,
如果没有进行监听处理,
点击home键时,系统默认只执行应用程序的当前显示的Activity的onStop()方法后跳出界面。
而点击back键时,系统默认执行的是应用程序当前Activity的finish()方法后跳出界面。
而点击menu键时,系统默认不进行任何处理。

这里只是一个简单的应用demo,我们可以根据自己的需要设计一个更完美的退出程序对话框。

也可以在监听到返回事件后进行其他处理,等等。

Android 如何监听返回键,弹出一个退出对话框相关推荐

  1. android设置返回按钮无效,Android onKeyDown监听返回键无效的解决办法

    Android onKeyDown监听返回键无效的解决办法 当我们的Activity继承了TabActivity,在该类中重写onKeyDown是监听不到返回键的, 具体解决方法如下: 重写dispa ...

  2. Android下监听返回键、home键、任务键

    1.监听返回键 @Overridepublic boolean onKeyDown(int keyCode, KeyEvent event) {if (keyCode == KeyEvent.KEYC ...

  3. Android页面监听虚拟键盘弹出、收起

    js 移动端关于页面布局,如果底部有 position: fixed 的盒子, 又有input,当软键盘弹出收起都会影响页面布局. 如图: 页面这时候Android可以监听resize事件,代码如下, ...

  4. java-swing-事件监听-MouseEvent-右键弹出菜单

    这篇文章对 MouseEvent 想说的主要是关于鼠标右键弹出菜单的一些体会 关于MouseEvent的一些信息 事件名称:MouseEvent 事件监听接口:MouseListener 需要注意的是 ...

  5. Android onKeyDown监听返回键无效

    当我们的Activity继承了TabActivity,在该类中重写onKeyDown是监听不到返回键的, 具体解决方法如下: 重写dispatchKeyEvent /*** 退出*/@Override ...

  6. android重写返回按钮点击事件,Android Fragment监听返回键

    场景:在项目中做联系人界面时,需要按名字和按部门显示联系人,此处使用2个fragment切换显示,按部门显示需要体现部门层级关系,需要实现点击返回上级部门.因为Fragment并不能像在Actvity ...

  7. android webview监听软键盘弹出和隐藏来修改虚拟导航栏颜色

    最近项目中用到了webview,然后里面有输入框,当我们点击输入框的时候,软键盘挡住了布局,这就尴尬了,并且产品说,只有在软键盘弹出的时候底部的虚拟导航栏为黑色,软键盘隐藏的时候虚拟导航栏应该也隐藏. ...

  8. Android Fragment 监听返回键

    直接给代码*-* Fragment: public boolean onKeyDown(int keyCode, KeyEvent event){if ((keyCode == KeyEvent.KE ...

  9. 在Android中实现监听 返回键,主键,菜单键

    一.监听 返回键 onKeyDown方法和onBackPressed方法 onKeyDown: 是当某个按键被按下是触发.所以也有人在点击返回键的时候去执行该方法来做判断.(该方法只是android ...

最新文章

  1. 使用DDMS中的内存监测工具Heap来优化内存
  2. (最短路径算法整理)dijkstra、floyd、bellman-ford、spfa算法
  3. sed 和 awk 的一些用法
  4. Spring 3.2矩阵变量是什么? - 第1部分
  5. 深入理解Magento – 第二章 – Magento请求分发与控制器
  6. Razor 中的@rendersection
  7. C++_运算符重载 再思考
  8. 论文阅读-Rethinking ImageNet Pre-trainging
  9. 穿山甲广告。swift穿山甲广告40001报错
  10. smtplib库:Python使用QQ邮箱发送邮件
  11. pymysql无法访问本地计算机,使用Python和odo模块在mysql上加载csv时出错
  12. 《谋圣鬼谷子》曝片花 徐麒雯饰演“姮娥”
  13. 【Flink】搭建单机环境
  14. 我最喜欢的五款手机APP 简直就是生活的小帮手
  15. Python3下的NLTK及nltk_data安装问题(Ubuntu环境)
  16. delphi cef写入html,Delphi XE 10.2.3使用CEF4Delphi取网页元素时碰到nbsp;变问号?的处理...
  17. auto.js之界面ui
  18. docker_mysql
  19. python内建函数是什么_python的内建函数在什么位置
  20. 昆明机场至南亚东南亚国家通航点达34个 居全国首位

热门文章

  1. 【小白从小学Python、C、Java】【计算机等级考试二级-必会题】【ASCII码与字符相互转化】
  2. 蚂蚁金服的to B开放
  3. java中result的作用_JAVA中的Resultset
  4. 移动DRM技术分析与应用策略
  5. July, 19(R)
  6. 【机器学习|数学基础】Mathematics for Machine Learning系列之矩阵理论(19):不定积分(补充知识)
  7. 人生经典定律[收藏] 1
  8. python 知乎 合并 pdf_实例4:用Python提取不同PDF文件中的页面合并进新的PDF文件...
  9. 02-K3S 架构及快速入门
  10. SpringBoot从入门到精通教程(七):集成Redis