我需要在麦克风单击时调用一些自定义事件,如何确定麦克风何时被单击?
public boolean onKeyDown(int keyCode, KeyEvent event) {
if (keyCode == KeyEvent.KEYCODE_HEADSETHOOK ) {
// ur code to start handling voice
return true;
}
else {
super.onKeyDown(keyCode,event)
}
根据文档,这是不可能的,您可以创建自己的键盘并处理它 -
由于软输入法可以使用多种创新的方式输入文本,因此不能保证软键盘上的任何按键都会生成键事件:这取决于IME的决定,并且事实上发送这些事件是不鼓励的。您永远不应该依赖于接收软输入法上任何键的KeyEvent。特别是,默认软件键盘将永远不会向任何针对Jelly Bean或更高版本的应用程序发送任何键事件,并且仅会向针对Ice Cream Sandwich或更早版本的应用程序发送一些删除和返回键的按键事件。请注意,其他软件输入方法可能永远不会发送键事件,无论版本如何。
请查看this
希望这有所帮助。