Android的很多app中,都有點擊一次返回鍵提示再次點擊退出app的功能。
今天就看了下實現的方式,其實就是在相應的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 }
轉載博客,做筆記保存,侵刪。