一、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