Android蓝牙耳机接听挂断电话流程

一、alps/packages/apps/Bluetooth/src/com/android/bluetooth/hfp/HeadsetStateMachine.java

image.png

processAnswerCall

这个方法就是接听电话 我们来往上走 还是
alps/packages/apps/Bluetooth/src/com/android/bluetooth/hfp/HeadsetStateMachine.java


image.png

原来是jni回调java。


image.png

alps/packages/apps/Bluetooth/jni/com_android_bluetooth_hfp.cpp

image.png

alps/packages/apps/Bluetooth/jni/com_android_bluetooth_hfp.cpp

image.png

alps/packages/apps/Bluetooth/jni/com_android_bluetooth_hfp.cpp

image.png

alps/packages/apps/Bluetooth/jni/com_android_bluetooth_hfp.cpp

image.png

alps/packages/apps/Bluetooth/jni/com_android_bluetooth_hfp.cpp

image.png
image.png

alps/system/bt/btif/src/btif_hf.c

image.png

alps/system/bt/btif/src/btif_hf.c

image.png

alps/system/bt/btif/src/btif_hf.c

image.png
image.png

alps/hardware/libhardware/include/hardware/bt_hf.h

image.png
image.png
image.png

好了 跟踪完了

        HAL_CBACK(bt_hf_callbacks, answer_call_cmd_cb,
                          &btif_hf_cb[idx].connected_bda);
image.png

logcat | grep "AT cmd"

第一个是接听 第二个是挂断

image.png

再往下跟


image.png
image.png

p_cmd_cback

alps/system/bt/bta/ag/bta_ag_at.c

bta_ag_process_at


image.png
image.png

alps/system/bt/bta/ag/bta_ag_at.c

image.png

system/bt/bta/ag/bta_ag_act.c

image.png
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容