前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Android中再按一次退出提醒实现的两种方法

Android中再按一次退出提醒实现的两种方法

作者头像
砸漏
发布2020-11-05 10:15:33
5560
发布2020-11-05 10:15:33
举报
文章被收录于专栏:恩蓝脚本

很多应用中都有一个在用户后退的时候显示“再按一次退出”的提醒,这个怎么实现呢?有两种方式

第一种方式(最常用)

代码语言:javascript
复制
 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的显示时间和等待时间相同
       Toast.makeText(this, "再按一次退出", (int)waitTime).show(); 
       touchTime = currentTime; 
     }else { 
       finish(); 
     } 
     return true; 
   } 
   return super.onKeyDown(keyCode, event); 
 }

第二种方式

重写onBackPressed方法直接监听返回键

代码语言:javascript
复制
 @Override
 public void onBackPressed() {
    long currentTime = System.currentTimeMillis(); 
    if((currentTime-touchTime) =waitTime) { 
     //让Toast的显示时间和等待时间相同
      Toast.makeText(this, "再按一次退出", (int)waitTime).show(); 
      touchTime = currentTime; 
    }else { 
      finish(); 
    } 
 }

这种方法虽然写法简单,但是这种方法缺只适用于Android 2.0以后.

如果你需要同时重写这两个方法,可能要注意一些问题啦!系统先是onKeyDown,如果return true了,就不会onBackPressed了

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对ZaLou.Cn的支持。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2020-09-11 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档