Android 点击两次Back键监听退出程序

监听打开/关闭APP 监听打开/关闭APP 在接收动作的位置添加你所想要做的事情 立即下载

本篇Blog记录点击两次Back键退出程序的写法

效果如下
在这里插入图片描述

我们通过该方法来实现

	@Override
    public boolean onKeyDown(int keyCode, KeyEvent event) {
   		return super.onKeyDown(keyCode, event);
    }

然后说明一下这两个方法的作用
onKeyDown():
当某个键被按下时会触发,但不会被任何的该Activity内的任何view处理。
默认按下KEYCODE_BACK键后会回到上一个Activity。

onKeyUp():
当某个按键被按下,松开后触发,但不会被任何的该Activity内的任何view处理。
默认没有执行任何操作,只是简单的给一个false作为返回值。

实现代码

	/**
     * First time click on back
     */
    private Long mExitTime = 0L;


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

一般来说通过这种方式来实现

RK3588 InsightFace人脸识别移植及精度测试全解析 本文详细介绍了如何在RK3588平台上移植InsightFace人脸识别模型并进行精度验证。通过PyTorch转ONNX、ONNX转RKNN量化模型的关键步骤,实现了INT8量化模型的部署。测试数据显示,该模型在LFW数据集上达到99.43%的准确率(接近官方99.52%),推理时间仅14.23ms。ROC曲线和相似度分布图表明模型区分能力优秀,AUC超过0.99,满足实际应用需求。文中还详解了量化原理、环境搭建和测试方法,为边缘设备部署人脸识别提供了完整解决方案。 阅读详情

相关推荐

5.44GHz超高精度!STM32G474的HRTIM时钟配置避坑指南

本文深入解析STM32G474内置高分辨率定时器的时钟配置要点,帮助工程师避开常见陷阱。文章详细阐述了从系统时钟到5.44GHz等效时基的路径,重点分析了预分频器乘法器、周期计算溢出、影子寄存器同步等关键配置,并结合实测波形对比,确保HRTIM在电机控制、数字电源等精密应用中发挥极限性能。

book8的博客 523

Android 监听主进程被杀

当按多任务键时,然后清除所有程序或者杀死单个程序时,如果要监听这个动作的话,可以在一个service里监听。 效果如下: 可以看到,在多任务窗口中,左滑结束进程和清除所有进程后,都会自己再打开应用,代码如下: public class KeepLifeService extends Service { private static final String TAG="Keep...

程序员之路 3万+

从专利库到Zemax:一个6mm定焦镜头从零到交付的完整设计流程(含CodeV转换技巧)

本文详细介绍了6mm定焦镜头从专利库检索到最终交付的全流程设计,重点解析了CodeV与Zemax工具链的无缝衔接技巧。通过实际案例展示规格定义、专利筛选、结构适配、非球面优化等关键步骤,帮助光学设计工程师提升设计效率和制造良率。特别包含CodeV转换Zemax的实用技巧,适用于机器视觉和安防镜头开发。

weixin_42561040的博客 161

android怎么监听app被后台杀死,Android优雅的监听APP前台/后台的状态切换

前言先梳理下“前台”的概念。当App对用户可见,并且用户可以与App直接进行交互的时候,此时,我们说App处于前台;而当我们按下Home键回到桌面,此时则App处于“后台”,通过点击图标或者多任务再次进入App,App再次进入前台。有些时候,我们需要对App的前后台的状态改变进行监听,来进行一些操作,比如一些服务的重连等等。进入正题在Application类中存在一个registerActivit...

weixin_39734020的博客 4637

【NCBI】SRA toolkit安装及使用-Windows&Linux版本

由于市面上的文章介绍SRA toolkit基本上都是基于Linux,而在windows下运行SRA toolkit基本上可以达到相同的效果且更为方便,故本文将分别阐明在Windows和Linux环境下SRA toolkit的安装及使用。

weixin_48076899的博客 2万+

Cadence OrCAD: 层次化设计 Hierarchical Design

详细介绍OrCAD的原理图层次化设计方法。

Fantasy237的博客 1万+

android kill 监听,监听App可能被强制干掉的两种方案

前言很多时候我们想要在app退出的时候做一些特殊的处理,如果用户的习惯良好,正常使用返回键退出app的话,我们可以简单的在MainActivity的onDestroy()方法中执行相应的操作就好了。但是,这也只是一种理想情况,由于android系统的特殊性,有些用户在准备关掉app的时候不是正常的操作,而且直接点开任务管理列表,从列表中将app关掉。这种关掉app的方式,google的API中没有...

weixin_30852391的博客 8055

逆向分析TikTok的Cronet网络库:定位libsscronet.so并Hook关键SSL函数

本文深入探讨了逆向分析TikTok的Cronet网络库的技术细节,重点介绍了如何定位libsscronet.so并Hook关键SSL函数。通过Java到Native的调用链路追踪、So库定位策略和SSL验证函数的动态Hook技巧,帮助开发者突破定制化网络库的协议加密防护,实现流量解密和协议分析。

weixin_27875131的博客 971

android监听app被杀死,【Android】App应用前后台切换的一种监听方法

Android本身并没有提供监听App的前后台切换操作的方法。最近看到一种简单巧妙的方法来监听前后台,这里分享记录一下。一、Activity生命周期我们知道在Android中,两个Activity,分别为A和B。假设此时A在前台,当A启动B时,他们俩之间的生命周期关系如下,可以参考之前的这篇文章【Android】Activity与Fragment的生命周期的关系:A.onPause() ->...

weixin_39917291的博客 3542

DeepSeek邮件管理全攻略

DeepSeek邮件助手是一款高效的邮件处理工具,提供智能分类、撰写、回复和任务自动化功能。通过API调用或多智能体系统,它能自动分类邮件意图、生成专业回复并优化邮件内容。核心功能包括智能过滤、会议安排和任务提醒,支持与主流邮箱服务集成。提供精准提示词模板,帮助用户快速生成得体邮件,提升工作效率。适合个人和企业使用,通过简单配置即可实现邮件处理自动化。

Genio_Wang的博客 180

c#算法(5)—最小二乘法(二次曲线拟合)

最小二乘法——二次曲线拟合

qq_34059233的博客 1659

android杀死app

结束android app方法:1.finish –结束当前的activity,但并不释放Activity占用的资源。 2.android.os.Process.killProcess(int pid);结束PId的进程,并释放资源 3.system.exit(int)关闭虚拟机,结束整个app;int0标示正常结束,1表示异常结束 4. 通过shell脚本杀死进程int pid = andr

jackzhouyu的专栏 3376

Qt和FFmpeg的视频压缩工具

m_progressDialog = new QProgressDialog("正在压缩视频...", "取消", 0, 100, parent);QString file = QFileDialog::getOpenFileName(this, "选择视频文件", "",QString file = QFileDialog::getSaveFileName(this, "保存压缩文件", "",QMessageBox::warning(parent, "错误", "请设置输入和输出文件路径");

寒寒豆豆软件公司的博客 104

android 二次点击退出,Android应用开发之点击两次返回退出程序

本文将带你了解Android应用开发之点击两次返回退出程序,希望本文对大家学Android有所帮助点击两次再退出,可以避免误点引起退出,提升用户体验。实现的思路如下:首先定义一个布尔变量,赋初始值false。然后监听退出按钮,点击退出按钮时,如果该布尔变量值为false,则把这个变量置为true;如果该变量为true,则退出程序。最后定义一个时间任务,2秒执行一次,如果布尔变量为true,则置为f...

weixin_32787251的博客 666

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

安卓简单开发-点击两次(back)返回退出程序

现在大多程序都没有点击退出弹出对话框问你是否要退出,我们也要顺应潮流,也要防止用户在使用软件的时候不小心点击到了back键, 所有就设计点击两次back键就直接退出程序。 话不多说  代码贴上 private static boolean isexit=false; private static boolean hastask=false; Timer timer=new Tim

LzLcheer的博客 818

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

Android中实现点击两次返回键退出程序的效果总结

摘要:第一种办法响应Activity的onKeyUp事件,两次点击时间大于2秒钟就不响应,小于2秒钟就退出程序代码://记录用户首次点击返回键的时间privatelongfirstTime=0;/***第一种解决办法通过监听keyUp*@paramkeyCode*@paramevent*@return*/@OverridepublicbooleanonKeyUp(intkeyCode,KeyEve...

浅若清兮 428

Android主界面连续两次点击物理返回键提示退出应用功能实现

实现内容:当点击一次 back 键时,程序提示“再按一次退出程序” ,当点击两次 back 键,两次之间的时间小于 3s 时,App就退出。 实则是对按键back监听。重写onKeyDown(),监听back声明两个常量: /** 上次点击返回键的时间 */ private long lastBackPressed; /** 两次点击的间隔时间 */ private sta...

liumce的博客 1721

android点击两下退出程序,Android 实现点击两次BACK键退出应用

思路:Android中捕获用户按键是在onKeyDown方法中,只需要判断用户按键是否是KEYCODE_BACK即后退键即可,剩下的即为判断两次点击BACK键时间间隔问题了第一种实现方式package com.example.clickexittest;import android.app.Activity;import android.os.Bundle;import android.os.Ha...

weixin_33504929的博客 242

Android实现点击两次返回键退出

正好在网上看到了一个,研究了一下,保存下来吧。 第一步,定义一个变量,用于标识是否退出 boolean isExit; 第二步,重写Activity中onKeyDown方法 @Override public boolean onKeyDown(int keyCode, KeyEvent event) { if (keyCode == KeyEvent.K

carterjin的专栏 2万+

Android开发 实现连续按两次返回键则退出程序

实现连续按两次返回键退出程序: 网上有很多实现的代码,实现起来也不难,这边提供一个我认为比较好的用户体验的代码: 首先在要退出的Activity中添加代码: 代码为全局代码 private long exitTime = 0; @Override public boolean onKeyDown(int keyCode, KeyEvent event) {

w575822446的专栏 1018

android当点击返回键,Android实现点击两次返回键退出

在做安卓应用是我们经常要判断用户对返回键的操作,一般为了防止误操作都是在用户连续按下两次返回键的时候提示用户是否退出应用程序。第一种实现的基本原理就是,当按下BACK键时,会被onKeyDown捕获,判断是BACK键,则执行exit方法。在exit方法中,会首先判断isExit的值,如果为false的话,则置为true,同时会弹出提示,并在2000毫秒(2秒)后发出一个消息,在Handler中将此...

weixin_30385221的博客 670

android中的back键处理

Back键是手机上的后退键,一般的软件不捕获相关信息可能导致你的程序被切换到后台,而回到桌面的尴尬情况,在Android上有两种方法来获取该按钮的事件。 1.直接获取按钮按下事件,此方法兼容Android 1.0到Android 2.1 也是常规方法,直接重写Activity的onKeyDown方法即可,代码如下: @Override public boolean onKeyDown...

weixin_30788619的博客 3459

android两次返回退出程序,安卓开发 按两次返回键退出APP 2个方法

点击两次再退出,可以避免误点引起退出,也可以提升用户体验。第一种:利用线程延时实现:private int mBackKeyPressedTimes = 0;@Overridepublic void onBackPressed() {if (mBackKeyPressedTimes == 0) {Toast.makeText(this, "再按一次退出程序", Toast.LENGTH_SHORT...

weixin_30824361的博客 772

android按两次后退键退出程序

看代码就可以了 package com.example.testkeyevent; import java.util.Date; import android.app.Activity; import android.os.Bundle; import android.view.KeyEvent; import android.widget.Toast; public class Main

aotian16的专栏 3903

Android中连续点击两次BACK键退出程序

在Android开发中,我们正常退出程序时,经常会设置这样一个小特色,就是短时间内连续按下两次BACK键才会将程序退出,对于这种设置,我们通常会使用两种方式来解决。    一、通过记录两次按下BACK键的时间差来判断    这种方式也比较好理解一点,我们可以设置一个第一次点击的时间变量和第二次点击的时间变量,通过两次点击的时间差是否在一个规定的时间段内即可,例如,当第二次按下时与第一次按下时的时间差

freelander_j的博客 1321

android按两次返回键退出程序

android按两次返回键退出程序  现在有很多程序都使用按两次返回键退出程序,下面介绍两种办法实现按两次返回键退出程序: 1.第一种方法(个人推荐): private long mExitTime; @Override     public boolean onKeyDown(int keyCode, KeyEvent event)     {     // T

u011602321的博客 542

android实现点击两次返回键实现退出功能

在使用android平台的app是我们经常会发现点击两次返回键会提示是否退出的功能,下面讲讲此功能是如何实现的(此方法比较简单) 第一种方法是对系统返回键进行监听,定义一个变量记录按键时间,通过计算时间差来实现该功能,代码如下: //退出时的时间private long mExitTime;//对返回键进行监听@Overridepublic boolean onKeyDown(int ke

不将就的博客 835
上一篇: RelativeLayout子控件实现LinearLayout的权重效果
下一篇: Android DataBinding在Activity、Fragment中的使用及数据共享
是阿秋吖
博客等级 码龄10年 7粉丝 33原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值