同学,别退出呀,我可是全网最牛逼的 Android 蓝牙分析博主,我写了上百篇蓝牙文章,请点击下面了解本专栏,进入本博主主页看看再走呗,一定不会让你后悔的,记得一定要去看主页置顶文章哦。
一. 结果说在前面
蓝牙通话分别有七个阶段,基本上每个阶段都会走到底层,把数据回调到上层,这么一个流程叫一个阶段;回调的数据代表一个状态,而我这个问题就在于底层回调数据到上层时,携带的数据不满足上层的要求 导致无法进入下一个阶段而产生的蓝牙通话无声问题;
蓝牙通话的七个连接阶段使用的模式是:状态机模式,没弄明白状态机模式之前有点不好入手;我这里分享一下状态机模式的详解文章:状态机模式介绍
二.涉及到的文件/内容
1.vendor/mediatek/proprietary/packages/apps/Bluetooth/src/com/android/bluetooth/hfp/HeadsetNativeInterface.java
2.vendor/mediatek/proprietary/packages/apps/Bluetooth/src/com/android/bluetooth/hfp/HeadsetStateMachine.java
3.vendor/mediatek/proprietary/packages/apps/Bluetooth/src/com/android/bluetooth/hfp/HeadsetService.java