Android實現兩次點擊返回鍵提示退出


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 }

轉載博客,做筆記保存,侵刪。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM