首页 > 代码库 > 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); } }
Android 音量键的监听
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。