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

原创 2015年11月18日 01:33:49

作者:程序员小冰,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例子—双击退出程序的两种方法

1、定义一个变量,来标识是否退出// 定义一个变量,来标识是否退出 private static boolean isExit = false; Handler mHandler = ...

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

前言现在市面上很多应用都会有当用户按返回键的时候提示用户:再按一次将退出应用的提示,也就是双击双击返回键退出应用,接下来我们就用几种办法来实现这个功能效果图实现 第一种办法 响应Activity的 o...

Android连续点击两次退出程序

连续点击两次程序就退出程序,这是一个很有趣的程序功能,下来介绍一下我的实现方式(欢迎大家拍砖指点):    1、在Activity中设置一个long型的全局变量 firstTime=0,用来记录第一...

Android 双击返回键退出程序的3种写法~

LZ-Says:给大家推荐一个网站,有兴趣可以查阅,想为大家贡献一点自己的力量也可以投稿,老大审核通过会发表,更好的帮助有需要的人~欢迎大家踊跃投稿~地址如下: http://www.1...

Android 双击返回键退出程序 实现

思路:用户按下返回键时设定一个定时器来监控是否2秒内实现了退出,如果用户没有接着按返回键,则清除第一次按返回键的效果,使程序还原到第一次按下返回键之前的状态。定时器是每次用户按下返回键才去创建。 代...

Android 双击back键退出应用的两种方式

项目要做这个功能,于是在度娘上摘代码.基本上实现方式很多,现在我把我这种实现贴出来哈,参考一下 1.重写onKeyDown方法 private boolean isExit = false;//...

Android 双击返回键退出功能的实现

private boolean appExit=false; public Handler mHandler=new Handler(){ @Override public void ...

Android双击退出及n次点击事件

实现n次点击判断,例如双击退出
  • youngwm
  • youngwm
  • 2016年07月31日 17:37
  • 541

Android 6.0拨号界面号码格式化

需求及分析客户需求: 使用hierarchyviewer工具可以发现这个界面对应的activity是DialtactsActivity.通过搜索拨号盘的source id(dialpad_vie...

android开发游记:viewpager关联tabs,自定义tabs实现翻页滚动效果

在开发的过程中我们经常会使用到Viewpager来实现翻页,但是自带的tabs控件不但丑还很不好用,于是就有了许多自定义的tabs控件,我推荐一个美观而且轻便简单的tabs,就一个java类实现自定义...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:【Android】双击返回键,退出android应用程序 双击两次退出程序提示功能 三种实现方法
举报原因:
原因补充:

(最多只允许输入30个字)