`
qq986945193
  • 浏览: 89677 次
  • 性别: Icon_minigender_2
  • 来自: 深圳
文章分类
社区版块
存档分类
最新评论

【Android】双击返回键,退出android应用程序 双击两次退出程序提示功能 三种实现方法

 
阅读更多

作者:程序员小冰,CSDN博客:http://blog.csdn.net/qq_21376985

QQ986945193 微博:http://weibo.com/mcxiaobing

【Android】双击返回键,退出android应用程序 双击两次退出程序提示功能 三种实现方法

最下面有项目源代码下载地址。当然,还是希望大家掌握这个小功能。

package davidsystemapp.qq986945193.com.davidsystemapp;

import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.util.Log;
import android.view.KeyEvent;
import android.widget.Toast;

import java.util.Timer;
import java.util.TimerTask;

/**
 * @author :程序员小冰
 * @GitHub: https://github.com/QQ986945193
 * @新浪微博 :http://weibo.com/mcxiaobing
 * @CSDN博客: http://blog.csdn.net/qq_21376985
 * @交流Qq :986945193
 */

public class MainActivity extends AppCompatActivity {
    private Toast toast;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        toast = Toast.makeText(getApplicationContext(), "再按一次退出程序", Toast.LENGTH_SHORT);
    }


    /**
     * 双击两次退出程序提示  第一种方式
     */
   /* boolean isState = true;//设置双击退出的变量

    public void onBackPressed() {
        if (isState) { //isState初始值为true
            isState = false;
            Toast.makeText(this, "再按一次退出程序", Toast.LENGTH_SHORT).show();
            new Timer().schedule(new TimerTask() {
                @Override
                public void run() {
                    // TODO Auto-generated method stub
                    isState = true;
                }
            }, 2000);
        } else {
            finish();
        }
    }*/

    /**
     * 双击两次退出程序提示  第二种方式
     */

    public boolean onKeyDown(int keyCode, KeyEvent event) {
        if (keyCode == KeyEvent.KEYCODE_BACK) {

            quitToast();
            return true;
        }
        return super.onKeyDown(keyCode, event);
    }

    private void quitToast() {
        if (null == toast.getView().getParent()) {
            toast.show();
        } else {
            finish();
//            System.exit(0);
        }
    }

    /**
     * 双击两次退出程序提示  第三种方式
     * <p/>
     * https://github.com/QQ986945193
     */
    // 1.on..2.开发者实现 3.系统调用
    // 条件 :点击物理键盘或者软件盘
    // int keyCode按键编号
  /*  long[] times = new long[2];

    @Override
    public boolean onKeyDown(int keyCode, KeyEvent event) {
        // TODO Auto-generated method stub
        if (keyCode == KeyEvent.KEYCODE_BACK) {
            // ① 找出回调函数
            // ② 点击时间 time1 time2
            // ③ 时间 间隔 <2000 退出
            // ④ 提示再点一次
            times[0] = times[1];
            times[1] = System.currentTimeMillis();
            if (times[1] - times[0] < 2000) {
                finish();
            } else {
                Toast.makeText(getBaseContext(), "再点一次退出", Toast.LENGTH_SHORT).show();
            }
            return true;// 消费事件
        }

        return super.onKeyDown(keyCode, event);
    }*/

}


源代码项目下载地址(欢迎star fork):https://github.com/QQ986945193/DavidSystemApp


分享到:
评论

相关推荐

    android双击返回键退出应用(三种实现方法)

    以上三种方法都能实现双击返回键退出应用的功能,但需要注意的是,当应用进入后台或暂停状态时,应取消可能的退出操作,避免在恢复应用时意外退出。同时,为了遵循Android的设计原则,通常建议使用系统的回退栈机制...

    Android 点击两次返回键退出程序

    - 不是所有的应用都适合使用双击返回键退出的策略,对于某些需要快速导航的应用,这可能会干扰用户流程。 - 在实现此功能时,应考虑到无障碍性需求,确保视觉障碍或行动不便的用户也能理解并操作。 - 考虑到系统...

    Android实现双击返回键退出应用实现方法详解

    Android实现双击返回键退出应用是Android应用程序中的一种常见功能,当用户按下返回键时,应用程序会提示用户再按一次退出程序。这一功能可以通过多种方法实现,下面我们将详细介绍四种不同的实现方法。 第一种...

    android两次按返回键退出程序实现

    ### Android 两次按返回键退出程序实现 在Android开发中,有时我们需要实现这样一个功能:...通过上述方法,我们可以在Android应用中实现“两次按返回键退出程序”的功能,不仅提高了用户体验,也增加了程序的稳定性。

    Android按两次返回退出应用的代码

    在Android开发中,为了让用户能够明确地退出应用,通常会实现一个功能,即连续点击两次返回按钮后退出应用程序。这个功能可以防止用户意外地退出应用,同时也提供了良好的用户体验。下面我们将详细探讨如何在Android...

    android按返回两次退出

    android中实现按两次返回键退出Activity,不再是返回一次就退出应用,第一次点击提示“再按一次退出应用”

    Android 双击返回键退出程序的方法总结

    Android 双击返回键退出程序是指在 Android 应用程序中,通过双击返回键退出当前程序的方法。这种方法可以提高用户体验,避免用户不小心点击返回键退出程序。下面是一些常见的双击返回键退出程序的方法: 一、根据...

    双击返回键退出程序

    实现双击返回键退出程序的核心思路是记录用户的按键行为,并在短时间内连续检测到两次按键动作时执行退出操作。具体来说,当用户第一次按下返回键时,系统会显示提示信息(如“再按一次退出应用”),并在一段时间后...

    点击两下返回键退出当前应用

    在Android应用开发中,"点击两下返回键退出当前应用"是一种常见的用户交互设计,它提高了用户体验,使得用户能够快速且直观地退出应用程序。这个DEMO实现的功能是当用户连续两次按下返回键时,程序会识别到这一行为...

    Android中双击返回键退出应用实例代码

    总结来说,要实现Android中双击返回键退出应用的功能,你需要创建一个自定义的`Application`类来存储所有`Activity`,并在需要的`Activity`中添加监听返回键的事件处理。这样,当用户在短时间内连续两次按下返回键,...

    Android 实现按两次返回键退出程序(两种方法)

    Android 实现按两次返回键退出程序是 Android 开发中的一种常见需求,下面我们将详细介绍 Android 实现按两次返回键退出程序的两种方法,并对原理进行分析。 方法一:使用 Timer 定时器 在第一种方法中,我们使用...

    安卓开发按两次返回键退出demo

    以上代码实现了简单的双击返回键退出应用的功能。`两次返回退出`这个Demo可能包含了这个功能的完整实现,包括必要的布局文件和Activity代码。开发者可以通过解压提供的压缩包,查看和学习这个Demo的源代码,以便更好...

    qml stackview实现安卓back键返回 和正常状态下的双击退出(全局过滤)

    在Android平台上开发QML应用程序时,经常会遇到与原生Android行为集成的问题,比如处理返回键事件。本篇文章将深入探讨如何使用QML的StackView组件来实现Android的back键返回功能,以及在正常状态下通过双击退出应用...

    两种退出程序方法

    在Android开发中,退出应用程序是常见的操作,尤其对于新手开发者来说,理解并实现这一功能尤为重要。本文将详细探讨两种常见的退出程序的方法,并结合Android的基本框架进行解析。 首先,让我们了解第一种退出程序...

    Android退出程序

    要实现双击退出,我们需要在某个活动(通常是主活动)中记录用户点击返回键的事件,并在短时间内连续两次检测到该事件时执行退出操作。这通常通过重写`onBackPressed()`方法来实现。`onBackPressed()`在用户点击返回...

    双击退出整个程序

    这个功能通常会在应用的主活动(MainActivity)中实现,当用户短时间内连续两次点击应用的返回按钮时,程序会退出。以下是关于这一主题的详细知识: 1. **Android 应用生命周期**: Android应用有多个活动...

    Android点击两次退出的Demo

    以上就是关于“Android点击两次退出的Demo”的核心知识点,它展示了Android应用中一个常见的用户交互设计和实现技巧。通过学习和实践这个Demo,开发者可以更好地理解和掌握Android应用的控制流以及用户界面的交互...

    Cordova(ionic)项目实现双击返回键退出应用

    在Cordova(ionic)项目中实现双击返回键退出应用是一个在移动应用开发中经常会遇到的需求,特别是对于Android平台。用户在使用应用时,有时会期待通过双击返回键能够快速退出程序,然而在Cordova项目中,这一需求实现...

    Android 双击Back键退出应用的实现方法

    本文将详细介绍如何实现Android双击Back键退出应用的功能。 首先,我们需要理解实现这一功能的基本思路。核心思想是设置一个退出标识(例如,一个布尔变量`quit`),当用户第一次点击Back键时,显示一个提示信息...

Global site tag (gtag.js) - Google Analytics