• 自定义Back返回键(实现按两次返回键退出程序)


    实现机制:当用户点击物理返回键时,Activity会调用onBackPressed(),只需在Activity中复写该方法即可

    以下是代码实现:

     1 package com.example.qjm3662.service_learn;
     2 
     3 import android.content.ComponentName;
     4 import android.content.Intent;
     5 import android.content.ServiceConnection;
     6 import android.os.IBinder;
     7 import android.support.v7.app.AppCompatActivity;
     8 import android.os.Bundle;
     9 import android.view.Window;
    10 import android.widget.TimePicker;
    11 import android.widget.Toast;
    12 
    13 public class MainActivity extends AppCompatActivity {
    14 
    15     //静态标记,用来标识用户是否在规定时间内连续点击返回键两次
    16     static int EVENT_BACK = 0;
    17     @Override
    18     protected void onCreate(Bundle savedInstanceState) {
    19         super.onCreate(savedInstanceState);
    20         setContentView(R.layout.activity_main);
    21     }
    22 
    23     @Override
    24     public void onBackPressed() {
    25         //如果用户在两秒内连续点击返回键,则执行默认操作(一般是把当前Activity中Activity栈中弹出)
    26         if(EVENT_BACK == 1){
    27             super.onBackPressed();
    28         }else{
    29             //用户第一次点击,将EVENT_BACK设为1表示用户已经点击了一次
    30             EVENT_BACK = 1;
    31             //弹出吐司框,提醒用户在点击一次即可退出程序
    32             Toast.makeText(MainActivity.this, "再按一次退出", Toast.LENGTH_SHORT).show();
    33             TimePicker timePicker = new TimePicker(this);
    34             //若用户在两秒内没有再次点击返回键,就将EVENT_BACK再置为0,用户需要重新点击两次
    35             timePicker.postDelayed(new Runnable() {
    36                 @Override
    37                 public void run() {
    38                     EVENT_BACK = 0;
    39                 }
    40             },2000);
    41         }
    42     }
    43 }
  • 相关阅读:
    高精度加法和减法。加法还好,减法花了不少时间。
    整数拆分
    二叉搜索树的中位数
    基本有序数组的排序
    log4j手册
    mysql技巧
    vim配置文件
    regex for python like preg_match of php
    字符串按word反转
    the little redis 阅读笔记
  • 原文地址:https://www.cnblogs.com/qjm253/p/5423394.html
Copyright © 2020-2023  润新知