Android 物理按鍵

來源:互聯網
上載者:User

標籤:

 

 1 import android.app.Activity; 2 import android.os.Bundle; 3 import android.util.Log; 4 import android.view.KeyEvent; 5 import android.widget.Toast; 6  7 public class MainActivity extends Activity { 8  9     10     @Override11     protected void onCreate(Bundle savedInstanceState) {12         super.onCreate(savedInstanceState);13         setContentView(R.layout.activity_main);14     }15     //我們在處理物理按鍵事件時,提供的回調方法有onKeyUp(),onKeyDown(),和onKeyLongPress(),比如音量鍵、返回鍵16     17     @Override18     public boolean onKeyDown(int keyCode, KeyEvent event) {19         if(keyCode == KeyEvent.KEYCODE_BACK){20             Log.e("TAG", "這是監聽鍵盤操作,按下了Back鍵");21         }22         return super.onKeyDown(keyCode, event);23     }24     @Override25     public boolean onKeyUp(int keyCode, KeyEvent event) {26         if(keyCode == KeyEvent.KEYCODE_VOLUME_UP){27             Log.e("TAG", "音量加鍵");28         }29         return super.onKeyUp(keyCode, event);30     }31     32     //Activity中,我們可以重寫onBackPressed()方法來處理返回鍵,如兩次按鍵退出33     //第一次按下的時候,記錄事件34     //第二次按下的事件減去第一次按下的時間小於2s就退出,否則將目前時間賦給第一次事件35     long startTime;36     37     @Override38     public void onBackPressed() {39         Log.e("TAG", "監聽Back鍵");40         41         if(System.currentTimeMillis()-startTime<2000){42             super.onBackPressed();//釋放資源,這個也可以直接finish(),但調用父類的釋放的更徹底43         }else{44             //記錄目前時間45             startTime = System.currentTimeMillis();46             Toast.makeText(this, "再按一次Back鍵退出", Toast.LENGTH_SHORT).show();47         }48     }49     50 }

 

一些常用物理按鍵

電源鍵  KEYCODE_POWER

後退鍵  KEYCODE_BACK

菜單鍵  KEYCODE_MENU

HOME鍵  KEYCODE_HOME

相機鍵  KEYCODE_CAMERA

音量鍵  KEYCODE_VOLUME_UP / KEYCODE_VOLUME_DOWM

搜尋鍵  KEYCODE_SEARCH

方向鍵  KEYCODE_DPAD_CENTER

      KEYCODE_DPAD_UP

      KEYCODE_DPAD_DOWN

      KEYCODE_DPAD_LEFT

      KEYCODE_DPAD_RIGHT

鍵盤鍵  KEYCODE_0...KEYCODE_9

      KEYCODE_A....KEYCODE_Z

Android 物理按鍵

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.