在相应的Activity中重写了onKeyDown()方法。在onKeyDown()方法中扑捉到返回键(KeyEvent.KEYCODE_BACK)的点击动作(KeyEvent.ACTION_DOWN),然后做出相应的提示信息和动作。
当然,还需要一个时间参数,不然点击完成等了很久再次点击就会直接退出app了,这显然是不合理的。时间间隔的大小一般而言1,2秒应该就可以吧。
1 import android.support.v7.app.AppCompatActivity;
2 import android.os.Bundle;
3 import android.view.KeyEvent;
4 import android.view.Menu;
5 import android.view.MenuItem;
6 import android.widget.Toast;
7
8 public class MainActivity extends AppCompatActivity {
9
10 @Override
11 protected void onCreate(Bundle savedInstanceState) {
12 super.onCreate(savedInstanceState);
13 setContentView(R.layout.activity_main);
14 }
15
16 // 用来计算返回键的点击间隔时间
17 private long exitTime = 0;
18 @Override
19 public boolean onKeyDown(int keyCode, KeyEvent event) {
20 if (keyCode == KeyEvent.KEYCODE_BACK
21 && event.getAction() == KeyEvent.ACTION_DOWN) {
22 if ((System.currentTimeMillis() - exitTime) > 2000) {
23 //弹出提示,可以有多种方式
24 Toast.makeText(getApplicationContext(), "再按一次退出程序", Toast.LENGTH_SHORT).show();
25 exitTime = System.currentTimeMillis();
26 } else {
27 finish();
28 }
29 return true;
30 }
31
32 return super.onKeyDown(keyCode, event);
33 }
34 }
转载:https://www.cnblogs.com/QQ862668193/p/8036427.html
