infinat 2019-08-26 19:26 采纳率: 0%
浏览 322

android 8.0以上如何用mediaButton控制来电接听?

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读取有权限和层级控制吗?

  • 写回答

0条回答 默认 最新

    报告相同问题?

    悬赏问题

    • ¥20 求一个html代码,有偿
    • ¥100 关于使用MATLAB中copularnd函数的问题
    • ¥20 在虚拟机的pycharm上
    • ¥15 jupyterthemes 设置完毕后没有效果
    • ¥15 matlab图像高斯低通滤波
    • ¥15 针对曲面部件的制孔路径规划,大家有什么思路吗
    • ¥15 钢筋实图交点识别,机器视觉代码
    • ¥15 如何在Linux系统中,但是在window系统上idea里面可以正常运行?(相关搜索:jar包)
    • ¥50 400g qsfp 光模块iphy方案
    • ¥15 两块ADC0804用proteus仿真时,出现异常