在前面的《Android 蓝牙——HFP协议(九)》中我们知道了蓝牙电话主要使用的是 HFP 协议,这里我们主要分析一些客户端如何获取蓝牙电话状态的变化。
一、电话状态查询
1、HeadsetClientStateMachine
源码位置:/packages/apps/Bluetooth/src/com/android/bluetooth/hfpclient/HeadsetClientStateMachine.java
@Override
public synchronized boolean processMessage(Message message) {
……
switch (message.what) {
……
case StackEvent.STACK_EVENT:
……
switch (event.type) {
……
case StackEvent.EVENT_TYPE_CALL:
case StackEvent.EVENT_TYPE_CALLSETUP:
case StackEvent.EVENT_TYPE_CALLHELD:
case StackEvent.EVENT_TYPE_RESP_AND_HOLD:
case StackEvent.EVENT_TYPE_CLIP:
case StackEvent.EVENT_TYPE_CAL