我正在尝试将辅助功能服务中的所有声音设为静音,可以吗?
如果没有,我可以管理音量键吗?我目前正在使用onKeyEvent来获取所有音量键事件,它工作正常,但我希望在特定条件下禁用音量键,而在其他条件下启用它们。我未能实现这一点,因为它的行为方式很奇怪,不听我的条件,要么工作要么不工作。以下代码是我所得到的一个示例:
@Override
public boolean onKeyEvent(KeyEvent event) {
int action = event.getAction();
int keyCode = event.getKeyCode();
if(CONDITION) {
if (action == KeyEvent.ACTION_UP) {
if (keyCode == KeyEvent.KEYCODE_VOLUME_UP || keyCode == KeyEvent.KEYCODE_VOLUME_DOWN) {
return false; // Volume key shouldn't work
}
return true; // execute key normally
}
}
return true; // Volume key should work
}
在这种情况下,无论条件是什么,音量键都不起作用。如果我将其中一个返回值更改为return super.onKeyEvent(event),音量键就会突然一直起作用,尽管条件是:(我不知道该怎么做
请帮助,任何建议都会有帮助。
提前感谢!:)
1条答案
按热度按时间9nvpjoqh1#
嘿,问题是函数只消耗action = ACTION_UP,而它触发action_up和action_down,所以音量键总是工作,现在我已经改变了它消耗两个动作,它工作!代码是:
希望对任何人都有帮助