1、需求描述
当来电时,用蓝牙发来的mediaButton KeyEvent,控制接听或者拒接
2、难点
如何在来电时能够获取MediaButton的事件
3、尝试1
通过AudioManager抢焦点、注册MediaButtonRecever,可以实现截获MediaButton KeyEvent
,通过监听焦点丢失,重复启动抢占焦点,也可以防止普通的APP抢去焦点。
但来电时,电话进程级别很高,根本抢不过来。所以此路不通
4、尝试2
后来发现Logcat中是有响应的KeyEvent日志的,比如一个Tag为MediaSessionService的,就会在蓝牙按键后,记录一个dispachKeyEvent日志。且不受来电、APP影响。于是尝试通过监听此Tag日志来实现需求。但不幸的是此日志可以在ADB命令中看到,但在APP中却无法读取。
5、求问
一是有没有办法实现需求(不root),
二是Logcat读取有权限和层级控制吗?