作为应用程序一个较好的用户体验应该是:在退出应用程序前询问用户是否真正退出?目前普遍做法是,一在退出前询问是否真正退出,二是连续按两下退出。

返回键捕获 应用程序退出的两种方式

实现上述两种应用退出方式需要在onkeyDown()来进行捕获返回键

在Activity中,如果需要动态注册广播官方文档建议在onResume()进行注册,在onPause()中取消注册。注册部分代码如下:

应用程序退出方式一:确认退出对话框

public boolean onKeyDown(int keyCode, KeyEvent event) {if (keyCode == KeyEvent.KEYCODE_BACK){AlertDialog.Builder alertDialog = new AlertDialog.Builder(this);alertDialog.setTitle("提示");alertDialog.setMessage("确认退出马上学Android");alertDialog.setPositiveButton("确认",new DialogInterface.OnClickListener() {@Overridepublic void onClick(DialogInterface dialogInterface, int i) {finish();}});alertDialog.setNegativeButton("取消",new DialogInterface.OnClickListener() {@Overridepublic void onClick(DialogInterface dialogInterface, int i) {return;}});alertDialog.show();}return true;
}

  • 应用程序退出方式二:连续按两次确认退出

    private long exitTime = 0;
    public boolean onKeyDown(int keyCode, KeyEvent event) {if(keyCode == KeyEvent.KEYCODE_BACK && event.getAction() == KeyEvent.ACTION_DOWN){if((System.currentTimeMillis() - exitTime) >2000){Toast.makeText(this,"再按一次退出应用程序",Toast.LENGTH_SHORT).show();exitTime = System.currentTimeMillis();} else {finish();System.exit(0);}return true;}return super.onKeyDown(keyCode, event);}

    http://chenqichao.me/2014/04/18/037-Android-Tutorial-029/

返回键捕获 应用程序退出的两种方式(转)相关推荐

  1. 【小程序登录的两种方式】

    小程序登录的两种方式 账号密码登录 获取小程序授权登录 账号密码登录 app.json页面顺序 先进入首页 有token就是首页 没有token时redirectTo登录页 {"pages& ...

  2. java制作oracle程序,Java程序操作Oracle两种方式之简单实现

    Java程序操作Oracle两种方式之简单实现 1.通过JDBC-ODBC桥连接Oracle数据库 (1)创建odbc源,在控制面板->管理工具->数据源(odbc)中添加DSN,比如取名 ...

  3. STM32_基础入门_程序下载的两种方式

    一.ISP串口下载 1.所涉及工具:MDK+FlyMcu 2.硬件连接 3.连接步骤 1.搜索并选择对应串口 2.选择要下载的hex文件,将"编程前重装文件"打勾 3.勾选&quo ...

  4. python程序执行的两种方式_012.执行Python程序的两种方式

    一.执行Python程序的两种方式 1.1 交互式 在终端内输入python3,然后输入python代码 交互式环境下,敲完一条命令按下enter键马上能看到结果,调试程序方便.程序无法永久保存,关掉 ...

  5. rk修改launcher_Android更改桌面应用程序launcher的两种方式

    http://blog.csdn.net/mdx20072419/article/details/9632779/ launcher,也就是android的桌面应用程序.下图是我正在使用的魅族手机的l ...

  6. 用程序猿思维、程序设计师思维两种方式写求斐波那契数列的方法。

    //用Java实现斐波那契数列(Fibonacci) public class Test {public int f(int n)//n代表第几个数字.程序返回它相应的值{return n>2? ...

  7. Android更改桌面应用程序launcher的两种方式

     http://blog.csdn.net/mdx20072419/article/details/9632779/ launcher,也就是android的桌面应用程序.下图是我正在使用的魅族手 ...

  8. python 程序退出的几种方式

    1.sys.exit() 2.os._exit() 3.exit() exit(0) 表示正常退出   其它参数表示非正常退出

  9. 运行python程序的两种方式交互式和文件式_教你如何编写、保存与运行 Python 程序...

    第一步 接下来我们将看见如何在 Python 中运行一个传统的"Hello World"程序.Python教程本章将会教你如何编写.保存与运行 Python 程序. 通过 Pyth ...

最新文章

  1. c++引用另一个类的方法_VlookUp函数使用方法,一张表引用另一张表的数据。
  2. 图论 ---- E. Minimum Path(分层图最短路 用分层图对边权操作进行选择)
  3. 使用 Windows 命令行删除结果
  4. JQuery表单验证插件EasyValidator,超级简单易用!
  5. react-native 打包apk
  6. [云炬商业计划书阅读分享]校园快递创业计划书
  7. Nginx静态资源优化配置之tcp_nopush和tcp_nodelay
  8. Linux 下的进程间通信:管道、消息队列、共享文件、共享内存
  9. 提高数据质量的方法有哪些
  10. 构建工具 | Gulp压缩JavaScript文件
  11. 在谷歌chrome中打开、编辑、保存金山 WPS Office完美解决方案!
  12. Github标星超7k!从零开始,最简明扼要的数据科学学习路径
  13. Day16 正则表达式
  14. Neural Style Transfer: A Review
  15. APP软件的几种开发方式
  16. js导出excel数据,图片,身份证号码
  17. 用HTML+CSS编写一个计科院网站首页的静态网页
  18. 为行业赋能|为品牌发声|泛家居工厂招商俱乐部在广州琶洲国际会展中心正式成立!
  19. 互联网日报 | 华为首次推出商用笔记本电脑;平安好医生推出子品牌“平安医家”;商汤科技成立“商汤教育”...
  20. PKCS1 PKCS8 公私钥 加密解密过程

热门文章

  1. Flutter开发之PageView指示器(31)
  2. swift_021(Swift 的方法)
  3. SharpUpdater:开源的.NET桌面程序自动更新组件
  4. vmware-tools安装说明
  5. 流式套接字:基于TCP协议的Socket网络编程(案例2)
  6. 微信公众号自定义菜单跳转小程序
  7. day3----str常用操作方法
  8. Scrapy+Scrapy-redis+Scrapyd+Gerapy 分布式爬虫框架整合
  9. what's the 回撤
  10. 关于iOS去除数组中重复数据的几种方法