Android退出程序二次确认

来源:互联网 发布:大淘客cms加淘口令 编辑:程序博客网 时间:2024/05/01 13:49

1.使用onKeyUp(),点击第一次返回键会有吐司框提示,倘若在两秒内再次点击返回键,则退出程序,效果图如下:


代码如下:

package com.example.kongjian_11;import android.support.v7.app.AppCompatActivity;import android.os.Bundle;import android.view.KeyEvent;import android.widget.Toast;public class MainActivity extends AppCompatActivity {    private long firstTime=0;    @Override    public boolean onKeyUp(int keyCode, KeyEvent event) {        switch(keyCode){            case KeyEvent.KEYCODE_BACK://点击返回键                long secondTime = System.currentTimeMillis();//以毫秒为单位                if(secondTime -firstTime>2000){                    Toast.makeText(this, "再按一次返回退出程序", Toast.LENGTH_SHORT).show();                    firstTime=secondTime;                }else{                    finish();                    System.exit(0);                }                return true;        }        return super.onKeyUp(keyCode, event);    }    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);    }}

2.使用onKeyDown()弹出提示框进行二次确认,效果图如下:


代码如下:

package com.example.kongjian_11;import android.content.DialogInterface;import android.os.Bundle;import android.support.annotation.Nullable;import android.support.v7.app.AlertDialog;import android.support.v7.app.AppCompatActivity;import android.view.KeyEvent;/** * Created by Administrator on 2017/6/17. */public class ItemActivity extends AppCompatActivity {    @Override    protected void onCreate(@Nullable Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_item);    }    @Override    public boolean onKeyDown(int keyCode, KeyEvent event) {        if(keyCode==KeyEvent.KEYCODE_BACK){//如果点击了返回键            //声明并初始化弹出对象            AlertDialog.Builder builder=new AlertDialog.Builder(this);            builder.setTitle("提示:");            builder.setMessage("是否退出");            //设置确认按钮            builder.setNegativeButton("确定", new DialogInterface.OnClickListener() {                @Override                public void onClick(DialogInterface dialog, int which) {                    finish();//退出程序                }            });            //设置取消按钮            builder.setPositiveButton("取消",null);            //显示弹框            builder.show();        }        return super.onKeyDown(keyCode, event);    }}


原创粉丝点击