拦截音量键的事件用于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);
}
本文介绍了一种在Android应用中通过拦截音量键事件来触发特定功能的方法。具体实现包括在Activity中重写onKeyUp和onKeyDown方法,并根据不同按键状态执行相应操作。

被折叠的 条评论
为什么被折叠?



