Android 音量键拦截
拦截音量键的事件用于app里的操作,在我的三星手机和华为手机测试,单独拦截一种,都没法屏蔽音量的操作。
最后,总结,将业务功能关联到一种,比如按键释放状态。并且拦截另一种,比如按键按下,里面不关联业务。
可在 Activity 里如下写,与状态事件并列。onKeyDown 不是复写方法(即不需要 @Override)的。
(这段代码是我的 SQLite分页程序中拷贝来的,验证过的。)
@Override
public boolean onKeyUp(int keyCode, KeyEvent event) {
if(keyCode== KeyEvent.KEYCODE_VOLUME_DOWN){
datatitle.setText("Key Down");
getTotalages();
if(totalpages>currentpage){
currentpage++;
showdata();
}
return true;
}else if(keyCode==KeyEvent.KEYCODE_VOLUME_UP)
{
datatitle.setText("Key Up");
if(currentpage>1){
currentpage--;
}
showdata();
return true;
} else return super.onKeyUp(keyCode, event);
}
public boolean onKeyDown(int keyCode, KeyEvent event) {
// TODO Auto-generated method stub
if(keyCode==KeyEvent.KEYCODE_VOLUME_DOWN){
//什么都不做
return true;
}
else if(keyCode==KeyEvent.KEYCODE_VOLUME_UP)
{
//什么都不做
return true;
}
else return super.onKeyDown(keyCode, event);
}