Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> 關於Android編程 >> Android 音量鍵的監聽

Android 音量鍵的監聽

編輯:關於Android編程

實踐後的結論:

下面兩種都可以獲取到音量鍵的東西, 測試的時候,發現

KeyEvent.KEYCODE_VOLUME_UP 一直按住的時候, 三星的一款平板計數到200,就不在觸發該事件;

所以改為 KeyEvent.ACTION_DOWN 時啟動一個方法用來計數, KeyEvent.ACTION_UP的停止技數;

package com.akm.testvolume;
 
import android.app.Activity;
import android.os.Bundle;
import android.view.KeyEvent;
import android.widget.TextView;
 
public class MainActivity extends Activity {
    private TextView tv;
 
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        tv = (TextView) findViewById(R.id.tv);
    }
 
    int count = -1;
 
    @Override
    public boolean dispatchKeyEvent(KeyEvent event) {
 
        int action = event.getAction();
 
        if (action ==KeyEvent.ACTION_DOWN) {
            tv.setText("+++++++++ACTION_DOWN++++++"+ count++);
            return true;
        }
 
        if (action== KeyEvent.ACTION_UP) {
            tv.setText("+++++ACTION_UP++++++++++");
            return true;
        }
 
        return super.dispatchKeyEvent(event);
    }
 
 
 
    @Override
    public boolean onKeyDown(int keyCode, KeyEvent event) {
        switch (keyCode) {
 
        case KeyEvent.KEYCODE_VOLUME_DOWN:
 
            tv.setText("-----------------"+count);
            count--;
 
            return true;
 
        case KeyEvent.KEYCODE_VOLUME_UP:
            tv.setText("++++++++++++++++"+ count);
            count++;
            return true;
        case KeyEvent.KEYCODE_VOLUME_MUTE:
            tv.setText("MUTE");
 
            return true;
        }
        return super.onKeyDown(keyCode, event);
    }
 
}


  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved