![Android App开发进阶与项目实战](https://wfqqreader-1252317822.image.myqcloud.com/cover/109/44510109/b_44510109.jpg)
上QQ阅读APP看书,第一时间看更新
2.1.3 接管返回按键
检测物理按键最常见的应用是淘宝首页的“再按一次返回键退出”,在App首页按返回键,系统默认的做法是直接退出该App。有时用户有可能是不小心按了返回键,并非想退出该App,因此这里加一个小提示,等待用户再次按返回键才会确认退出意图,并执行退出操作。
“再按一次返回键退出”的实现代码很简单,在onKeyDown方法中拦截返回键即可,具体代码如下:
(完整代码见event\src\main\java\com\example\event\BackPressActivity.java)
![](https://epubservercos.yuewen.com/0C084D/23721623101012206/epubprivate/OEBPS/Images/Figure-P48_17274.jpg?sign=1739515864-pDgfRCsV007WHHBnuTtUdlGjjlEjgGmN-0-dce8ea6650c0ddad684b49d5fec93fce)
重写活动代码的onBackPressed方法也能实现同样的效果,该方法专门响应按返回键事件,具体代码如下:
![](https://epubservercos.yuewen.com/0C084D/23721623101012206/epubprivate/OEBPS/Images/Figure-P48_17275.jpg?sign=1739515864-BiR8CCIbFl8ddakKdPI79KMYvfCjfK6G-0-c510fa1661f8c841f5baa13f3cd3bda2)
该功能的界面效果如图2-3所示。这是一个提示小窗口,在淘宝首页按返回键时能够看到。
![](https://epubservercos.yuewen.com/0C084D/23721623101012206/epubprivate/OEBPS/Images/Figure-P48_3693.jpg?sign=1739515864-P7YQar69YxJ9RaQGfuCpGU1VjBRO9VxK-0-c11574cb3f79e00b614b66a1aa42aa5b)
图2-3 “再按一次返回键退出”的提示窗口