zoukankan      html  css  js  c++  java
  • Android 物理按键

     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     @Override
    11     protected void onCreate(Bundle savedInstanceState) {
    12         super.onCreate(savedInstanceState);
    13         setContentView(R.layout.activity_main);
    14     }
    15     //我们在处理物理按键事件时,提供的回调方法有onKeyUp(),onKeyDown(),和onKeyLongPress(),比如音量键、返回键
    16     
    17     @Override
    18     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     @Override
    25     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     @Override
    38     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

  • 相关阅读:
    iPad 3g版完美实现打电话功能(phoneitipad破解)
    vb.NET基础总结
    PMP考试的过与只是
    Oracle基础学习5-- Oracle权限之”角色”
    linux内存操作----kernel 3.5.X copy_from_user()和copy_to_user()
    猜数字游戏
    pthread_t definition
    POJ 2057 The Lost House
    简单截图功能实现
    java实现罗马数字转十进制
  • 原文地址:https://www.cnblogs.com/Claire6649/p/5948295.html
Copyright © 2011-2022 走看看