public final class BluetoothHeadsetClient extends Object implements BluetoothProfile
This class defines methods that shall be used by application to manage profile connection, calls states and calls actions.
BluetoothProfile.ServiceListener
Modifier and Type | Field and Description |
---|---|
static String |
ACTION_AG_EVENT
Intent sending updates of the Audio Gateway state.
|
static String |
ACTION_AUDIO_STATE_CHANGED
Intent sent whenever audio state changes.
|
static String |
ACTION_CALL_CHANGED
Intent sent whenever state of a call changes.
|
static String |
ACTION_CONNECTION_STATE_CHANGED
Intent sent whenever connection to remote changes.
|
static String |
ACTION_LAST_VTAG
Intent that notifies about the number attached to the last voice tag
recorded on AG.
|
static String |
ACTION_RESULT
Intent that notifies about the result of the last issued action.
|
static int |
ACTION_RESULT_ERROR |
static int |
ACTION_RESULT_ERROR_BLACKLISTED |
static int |
ACTION_RESULT_ERROR_BUSY |
static int |
ACTION_RESULT_ERROR_CME |
static int |
ACTION_RESULT_ERROR_DELAYED |
static int |
ACTION_RESULT_ERROR_NO_ANSWER |
static int |
ACTION_RESULT_ERROR_NO_CARRIER |
static int |
ACTION_RESULT_OK |
static int |
CALL_ACCEPT_HOLD |
static int |
CALL_ACCEPT_NONE |
static int |
CALL_ACCEPT_TERMINATE |
static int |
CME_CORPORATE_PERSONALIZATION_PIN_REQUIRED |
static int |
CME_CORPORATE_PERSONALIZATION_PUK_REQUIRED |
static int |
CME_DIAL_STRING_TOO_LONG |
static int |
CME_EAP_NOT_SUPPORTED |
static int |
CME_EMERGENCY_SERVICE_ONLY |
static int |
CME_HIDDEN_KEY_REQUIRED |
static int |
CME_INCORRECT_PARAMETERS |
static int |
CME_INCORRECT_PASSWORD |
static int |
CME_INVALID_CHARACTER_IN_DIAL_STRING |
static int |
CME_INVALID_CHARACTER_IN_TEXT_STRING |
static int |
CME_INVALID_INDEX |
static int |
CME_MEMORY_FAILURE |
static int |
CME_MEMORY_FULL |
static int |
CME_NETWORK_PERSONALIZATION_PIN_REQUIRED |
static int |
CME_NETWORK_PERSONALIZATION_PUK_REQUIRED |
static int |
CME_NETWORK_SUBSET_PERSONALIZATION_PIN_REQUIRED |
static int |
CME_NETWORK_SUBSET_PERSONALIZATION_PUK_REQUIRED |
static int |
CME_NETWORK_TIMEOUT |
static int |
CME_NO_CONNECTION_TO_PHONE |
static int |
CME_NO_NETWORK_SERVICE |
static int |
CME_NO_SIMULTANOUS_VOIP_CS_CALLS |
static int |
CME_NOT_FOUND |
static int |
CME_NOT_SUPPORTED_FOR_VOIP |
static int |
CME_OPERATION_NOT_ALLOWED |
static int |
CME_OPERATION_NOT_SUPPORTED |
static int |
CME_PHFSIM_PIN_REQUIRED |
static int |
CME_PHFSIM_PUK_REQUIRED |
static int |
CME_PHONE_FAILURE |
static int |
CME_PHSIM_PIN_REQUIRED |
static int |
CME_SERVICE_PROVIDER_PERSONALIZATION_PIN_REQUIRED |
static int |
CME_SERVICE_PROVIDER_PERSONALIZATION_PUK_REQUIRED |
static int |
CME_SIM_BUSY |
static int |
CME_SIM_FAILURE |
static int |
CME_SIM_NOT_INSERTED |
static int |
CME_SIM_PIN_REQUIRED |
static int |
CME_SIM_PIN2_REQUIRED |
static int |
CME_SIM_PUK_REQUIRED |
static int |
CME_SIM_PUK2_REQUIRED |
static int |
CME_SIM_WRONG |
static int |
CME_SIP_RESPONSE_CODE |
static int |
CME_TEXT_STRING_TOO_LONG |
static String |
EXTRA_AG_FEATURE_3WAY_CALLING
AG feature: three way calling.
|
static String |
EXTRA_AG_FEATURE_ACCEPT_HELD_OR_WAITING_CALL
AG call handling feature: accept held or waiting call in three way calling scenarios.
|
static String |
EXTRA_AG_FEATURE_ATTACH_NUMBER_TO_VT
AG feature: fetching phone number for voice tagging procedure.
|
static String |
EXTRA_AG_FEATURE_ECC
AG feature: enhanced call handling (terminate specific call, private consultation).
|
static String |
EXTRA_AG_FEATURE_MERGE
AG call handling feature: merge two calls, held and active - multi party conference mode.
|
static String |
EXTRA_AG_FEATURE_MERGE_AND_DETACH
AG call handling feature: merge calls and disconnect from multi party
conversation leaving peers connected to each other.
|
static String |
EXTRA_AG_FEATURE_REJECT_CALL
AG feature: ability to reject incoming call.
|
static String |
EXTRA_AG_FEATURE_RELEASE_AND_ACCEPT
AG call handling feature: release active call and accept held or waiting call in three way
calling scenarios.
|
static String |
EXTRA_AG_FEATURE_RELEASE_HELD_OR_WAITING_CALL
AG call handling feature: release held or waiting call in three way calling scenarios.
|
static String |
EXTRA_AG_FEATURE_RESPONSE_AND_HOLD
AG feature: response and hold.
|
static String |
EXTRA_AG_FEATURE_VOICE_RECOGNITION
AG feature: voice recognition.
|
static String |
EXTRA_AUDIO_WBS
Extra with information if connected audio is WBS.
|
static String |
EXTRA_BATTERY_LEVEL
Extra for AG_EVENT intent indicates the battery level.
|
static String |
EXTRA_CALL
Extra for AG_CALL_CHANGED intent indicates the
BluetoothHeadsetClientCall object that has changed. |
static String |
EXTRA_CME_CODE
Extra for ACTION_RESULT intent that shows the extended result code of
last issued action.
|
static String |
EXTRA_IN_BAND_RING
Extra for AG_EVENT intent indicates in band ring state.
|
static String |
EXTRA_NETWORK_ROAMING
Extra for AG_EVENT intent indicates roaming state.
|
static String |
EXTRA_NETWORK_SIGNAL_STRENGTH
Extra for AG_EVENT intent indicates network signal strength.
|
static String |
EXTRA_NETWORK_STATUS
Extra for AG_EVENT indicates network status.
|
static String |
EXTRA_NUMBER
Extra for ACTION_LAST_VTAG intent.
|
static String |
EXTRA_OPERATOR_NAME
Extra for AG_EVENT intent indicates operator name.
|
static String |
EXTRA_RESULT_CODE
Extra for ACTION_RESULT intent that shows the result code of
last issued action.
|
static String |
EXTRA_SUBSCRIBER_INFO
Extra for AG_EVENT intent indicates subscriber info.
|
static String |
EXTRA_VOICE_RECOGNITION
Extra for AG_EVENT intent indicates voice recognition state.
|
static int |
STATE_AUDIO_CONNECTED |
static int |
STATE_AUDIO_CONNECTING |
static int |
STATE_AUDIO_DISCONNECTED |
A2DP, A2DP_SINK, AVRCP_CONTROLLER, EXTRA_PREVIOUS_STATE, EXTRA_STATE, GATT, GATT_SERVER, HEADSET, HEADSET_CLIENT, HEALTH, INPUT_DEVICE, MAP, PAN, PBAP, PBAP_CLIENT, PRIORITY_AUTO_CONNECT, PRIORITY_OFF, PRIORITY_ON, PRIORITY_UNDEFINED, SAP, STATE_CONNECTED, STATE_CONNECTING, STATE_DISCONNECTED, STATE_DISCONNECTING
Modifier and Type | Method and Description |
---|---|
boolean |
acceptCall(BluetoothDevice device,
int flag)
Accepts a call
|
boolean |
acceptIncomingConnect(BluetoothDevice device)
Accept the incoming connection.
|
boolean |
connect(BluetoothDevice device)
Connects to remote device.
|
boolean |
connectAudio()
Initiates a connection of audio channel.
|
boolean |
dial(BluetoothDevice device,
String number)
Places a call with specified number.
|
boolean |
dialMemory(BluetoothDevice device,
int location)
Places a call to the number under specified memory location.
|
boolean |
disconnect(BluetoothDevice device)
Disconnects remote device
|
boolean |
disconnectAudio()
Disconnects audio channel.
|
boolean |
enterPrivateMode(BluetoothDevice device,
int index)
Enters private mode with a specified call.
|
boolean |
explicitCallTransfer(BluetoothDevice device)
Performs explicit call transfer.
|
boolean |
getAudioRouteAllowed()
Returns whether audio routing is allowed.
|
int |
getAudioState(BluetoothDevice device)
Returns current audio state of Audio Gateway.
|
List<BluetoothDevice> |
getConnectedDevices()
Return the list of connected remote devices
|
int |
getConnectionState(BluetoothDevice device)
Returns state of the
device |
Bundle |
getCurrentAgEvents(BluetoothDevice device)
Returns list of current values of AG indicators.
|
Bundle |
getCurrentAgFeatures(BluetoothDevice device)
Get Audio Gateway features
|
List<BluetoothHeadsetClientCall> |
getCurrentCalls(BluetoothDevice device)
Returns list of all calls in any state.
|
List<BluetoothDevice> |
getDevicesMatchingConnectionStates(int[] states)
Returns list of remote devices in a particular state
|
boolean |
getLastVoiceTagNumber(BluetoothDevice device)
Get a number corresponding to last voice tag recorded on AG.
|
int |
getPriority(BluetoothDevice device)
Get the priority of the profile.
|
boolean |
holdCall(BluetoothDevice device)
Holds a call.
|
boolean |
redial(BluetoothDevice device)
Redials last number from Audio Gateway.
|
boolean |
rejectCall(BluetoothDevice device)
Rejects a call.
|
boolean |
rejectIncomingConnect(BluetoothDevice device)
Reject the incoming connection.
|
boolean |
sendDTMF(BluetoothDevice device,
byte code)
Sends DTMF code.
|
void |
setAudioRouteAllowed(boolean allowed)
Sets whether audio routing is allowed.
|
boolean |
setPriority(BluetoothDevice device,
int priority)
Set priority of the profile
The device should already be paired.
|
boolean |
startVoiceRecognition(BluetoothDevice device)
Starts voice recognition.
|
boolean |
stopVoiceRecognition(BluetoothDevice device)
Stops voice recognition.
|
boolean |
terminateCall(BluetoothDevice device,
int index)
Terminates a specified call.
|
public static final String ACTION_CONNECTION_STATE_CHANGED
It includes two extras:
BluetoothProfile.EXTRA_PREVIOUS_STATE
and BluetoothProfile.EXTRA_STATE
, which
are mandatory.
There are also non mandatory feature extras:
EXTRA_AG_FEATURE_3WAY_CALLING
,
EXTRA_AG_FEATURE_VOICE_RECOGNITION
,
EXTRA_AG_FEATURE_ATTACH_NUMBER_TO_VT
,
EXTRA_AG_FEATURE_REJECT_CALL
,
EXTRA_AG_FEATURE_ECC
,
EXTRA_AG_FEATURE_RESPONSE_AND_HOLD
,
EXTRA_AG_FEATURE_ACCEPT_HELD_OR_WAITING_CALL
,
EXTRA_AG_FEATURE_RELEASE_HELD_OR_WAITING_CALL
,
EXTRA_AG_FEATURE_RELEASE_AND_ACCEPT
,
EXTRA_AG_FEATURE_MERGE
,
EXTRA_AG_FEATURE_MERGE_AND_DETACH
,
sent as boolean values only when EXTRA_STATE
is set to STATE_CONNECTED
.
Note that features supported by AG are being sent as
booleans with value true
,
and not supported ones are not being sent at all.
public static final String ACTION_AUDIO_STATE_CHANGED
It includes two mandatory extras:
BluetoothProfile.EXTRA_STATE
,
BluetoothProfile.EXTRA_PREVIOUS_STATE
,
with possible values:
STATE_AUDIO_CONNECTING
,
STATE_AUDIO_CONNECTED
,
STATE_AUDIO_DISCONNECTED
When EXTRA_STATE
is set
to STATE_AUDIO_CONNECTED,
it also includes EXTRA_AUDIO_WBS
indicating wide band speech support.
public static final String ACTION_AG_EVENT
It can contain one or more of the following extras:
EXTRA_NETWORK_STATUS
,
EXTRA_NETWORK_SIGNAL_STRENGTH
,
EXTRA_NETWORK_ROAMING
,
EXTRA_BATTERY_LEVEL
,
EXTRA_OPERATOR_NAME
,
EXTRA_VOICE_RECOGNITION
,
EXTRA_IN_BAND_RING
public static final String ACTION_CALL_CHANGED
It includes:
EXTRA_CALL
,
with value of BluetoothHeadsetClientCall
instance,
representing actual call state.
public static final String ACTION_RESULT
ACTION_AG_EVENT
with EXTRA_VOICE_RECOGNITION
value
when for example user started voice recognition from HF unit.public static final String ACTION_LAST_VTAG
It contains:
EXTRA_NUMBER
,
with a String
value representing phone number.
public static final int STATE_AUDIO_DISCONNECTED
public static final int STATE_AUDIO_CONNECTING
public static final int STATE_AUDIO_CONNECTED
public static final String EXTRA_AUDIO_WBS
Possible values: true
,
false
.
public static final String EXTRA_NETWORK_STATUS
Value: 0 - network unavailable, 1 - network available
public static final String EXTRA_NETWORK_SIGNAL_STRENGTH
Value: Integer
representing signal strength.
public static final String EXTRA_NETWORK_ROAMING
Value: 0 - no roaming 1 - active roaming
public static final String EXTRA_BATTERY_LEVEL
Value: Integer
representing signal strength.
public static final String EXTRA_OPERATOR_NAME
Value: String
representing operator name.
public static final String EXTRA_VOICE_RECOGNITION
Value: 0 - voice recognition stopped, 1 - voice recognition started.
public static final String EXTRA_IN_BAND_RING
Value: 0 - in band ring tone not supported, or 1 - in band ring tone supported.
public static final String EXTRA_SUBSCRIBER_INFO
Value: String
containing subscriber information.
public static final String EXTRA_CALL
BluetoothHeadsetClientCall
object that has changed.public static final String EXTRA_NUMBER
Value: String
representing phone number
corresponding to last voice tag recorded on AG
public static final String EXTRA_RESULT_CODE
Possible results:
ACTION_RESULT_OK
,
ACTION_RESULT_ERROR
,
ACTION_RESULT_ERROR_NO_CARRIER
,
ACTION_RESULT_ERROR_BUSY
,
ACTION_RESULT_ERROR_NO_ANSWER
,
ACTION_RESULT_ERROR_DELAYED
,
ACTION_RESULT_ERROR_BLACKLISTED
,
ACTION_RESULT_ERROR_CME
public static final String EXTRA_CME_CODE
Value: Integer
- error code.
public static final String EXTRA_AG_FEATURE_3WAY_CALLING
public static final String EXTRA_AG_FEATURE_VOICE_RECOGNITION
public static final String EXTRA_AG_FEATURE_ATTACH_NUMBER_TO_VT
public static final String EXTRA_AG_FEATURE_REJECT_CALL
public static final String EXTRA_AG_FEATURE_ECC
public static final String EXTRA_AG_FEATURE_RESPONSE_AND_HOLD
public static final String EXTRA_AG_FEATURE_ACCEPT_HELD_OR_WAITING_CALL
public static final String EXTRA_AG_FEATURE_RELEASE_HELD_OR_WAITING_CALL
public static final String EXTRA_AG_FEATURE_RELEASE_AND_ACCEPT
public static final String EXTRA_AG_FEATURE_MERGE
public static final String EXTRA_AG_FEATURE_MERGE_AND_DETACH
public static final int ACTION_RESULT_OK
public static final int ACTION_RESULT_ERROR
public static final int ACTION_RESULT_ERROR_NO_CARRIER
public static final int ACTION_RESULT_ERROR_BUSY
public static final int ACTION_RESULT_ERROR_NO_ANSWER
public static final int ACTION_RESULT_ERROR_DELAYED
public static final int ACTION_RESULT_ERROR_BLACKLISTED
public static final int ACTION_RESULT_ERROR_CME
public static final int CME_PHONE_FAILURE
public static final int CME_NO_CONNECTION_TO_PHONE
public static final int CME_OPERATION_NOT_ALLOWED
public static final int CME_OPERATION_NOT_SUPPORTED
public static final int CME_PHSIM_PIN_REQUIRED
public static final int CME_PHFSIM_PIN_REQUIRED
public static final int CME_PHFSIM_PUK_REQUIRED
public static final int CME_SIM_NOT_INSERTED
public static final int CME_SIM_PIN_REQUIRED
public static final int CME_SIM_PUK_REQUIRED
public static final int CME_SIM_FAILURE
public static final int CME_SIM_BUSY
public static final int CME_SIM_WRONG
public static final int CME_INCORRECT_PASSWORD
public static final int CME_SIM_PIN2_REQUIRED
public static final int CME_SIM_PUK2_REQUIRED
public static final int CME_MEMORY_FULL
public static final int CME_INVALID_INDEX
public static final int CME_NOT_FOUND
public static final int CME_MEMORY_FAILURE
public static final int CME_TEXT_STRING_TOO_LONG
public static final int CME_INVALID_CHARACTER_IN_TEXT_STRING
public static final int CME_DIAL_STRING_TOO_LONG
public static final int CME_INVALID_CHARACTER_IN_DIAL_STRING
public static final int CME_NO_NETWORK_SERVICE
public static final int CME_NETWORK_TIMEOUT
public static final int CME_EMERGENCY_SERVICE_ONLY
public static final int CME_NO_SIMULTANOUS_VOIP_CS_CALLS
public static final int CME_NOT_SUPPORTED_FOR_VOIP
public static final int CME_SIP_RESPONSE_CODE
public static final int CME_NETWORK_PERSONALIZATION_PIN_REQUIRED
public static final int CME_NETWORK_PERSONALIZATION_PUK_REQUIRED
public static final int CME_NETWORK_SUBSET_PERSONALIZATION_PIN_REQUIRED
public static final int CME_NETWORK_SUBSET_PERSONALIZATION_PUK_REQUIRED
public static final int CME_SERVICE_PROVIDER_PERSONALIZATION_PIN_REQUIRED
public static final int CME_SERVICE_PROVIDER_PERSONALIZATION_PUK_REQUIRED
public static final int CME_CORPORATE_PERSONALIZATION_PIN_REQUIRED
public static final int CME_CORPORATE_PERSONALIZATION_PUK_REQUIRED
public static final int CME_HIDDEN_KEY_REQUIRED
public static final int CME_EAP_NOT_SUPPORTED
public static final int CME_INCORRECT_PARAMETERS
public static final int CALL_ACCEPT_NONE
public static final int CALL_ACCEPT_HOLD
public static final int CALL_ACCEPT_TERMINATE
public boolean connect(BluetoothDevice device)
device
- a remote device we want connect totrue
if command has been issued successfully;
false
otherwise;
upon completion HFP sends ACTION_CONNECTION_STATE_CHANGED
intent.public boolean disconnect(BluetoothDevice device)
device
- a remote device we want disconnecttrue
if command has been issued successfully;
false
otherwise;
upon completion HFP sends ACTION_CONNECTION_STATE_CHANGED
intent.public List<BluetoothDevice> getConnectedDevices()
getConnectedDevices
in interface BluetoothProfile
public List<BluetoothDevice> getDevicesMatchingConnectionStates(int[] states)
getDevicesMatchingConnectionStates
in interface BluetoothProfile
states
- collection of statesstates
; empty list if nothing matches the
states
public int getConnectionState(BluetoothDevice device)
device
getConnectionState
in interface BluetoothProfile
device
- a remote devicepublic boolean setPriority(BluetoothDevice device, int priority)
public int getPriority(BluetoothDevice device)
public boolean startVoiceRecognition(BluetoothDevice device)
device
- remote devicetrue
if command has been issued successfully;
false
otherwise;
upon completion HFP sends ACTION_AG_EVENT
intent.
Feature required for successful execution is being reported by:
EXTRA_AG_FEATURE_VOICE_RECOGNITION
.
This method invocation will fail silently when feature is not supported.
public boolean stopVoiceRecognition(BluetoothDevice device)
device
- remote devicetrue
if command has been issued successfully;
false
otherwise;
upon completion HFP sends ACTION_AG_EVENT
intent.
Feature required for successful execution is being reported by:
EXTRA_AG_FEATURE_VOICE_RECOGNITION
.
This method invocation will fail silently when feature is not supported.
public List<BluetoothHeadsetClientCall> getCurrentCalls(BluetoothDevice device)
device
- remote devicepublic Bundle getCurrentAgEvents(BluetoothDevice device)
device
- remote devicepublic boolean acceptCall(BluetoothDevice device, int flag)
device
- remote deviceflag
- action policy while accepting a call. Possible values
CALL_ACCEPT_NONE
, CALL_ACCEPT_HOLD
,
CALL_ACCEPT_TERMINATE
true
if command has been issued successfully;
false
otherwise;
upon completion HFP sends ACTION_CALL_CHANGED
intent.public boolean holdCall(BluetoothDevice device)
device
- remote devicetrue
if command has been issued successfully;
false
otherwise;
upon completion HFP sends ACTION_CALL_CHANGED
intent.public boolean rejectCall(BluetoothDevice device)
device
- remote devicetrue
if command has been issued successfully;
false
otherwise;
upon completion HFP sends ACTION_CALL_CHANGED
intent.
Feature required for successful execution is being reported by:
EXTRA_AG_FEATURE_REJECT_CALL
.
This method invocation will fail silently when feature is not supported.
public boolean terminateCall(BluetoothDevice device, int index)
device
- remote deviceindex
- index of the call to be terminatedtrue
if command has been issued successfully;
false
otherwise;
upon completion HFP sends ACTION_CALL_CHANGED
intent.
Feature required for successful execution is being reported by:
EXTRA_AG_FEATURE_ECC
.
This method invocation will fail silently when feature is not supported.
public boolean enterPrivateMode(BluetoothDevice device, int index)
device
- remote deviceindex
- index of the call to connect in private modetrue
if command has been issued successfully;
false
otherwise;
upon completion HFP sends ACTION_CALL_CHANGED
intent.
Feature required for successful execution is being reported by:
EXTRA_AG_FEATURE_ECC
.
This method invocation will fail silently when feature is not supported.
public boolean explicitCallTransfer(BluetoothDevice device)
device
- remote devicetrue
if command has been issued successfully;
false
otherwise;
upon completion HFP sends ACTION_CALL_CHANGED
intent.
Feature required for successful execution is being reported by:
EXTRA_AG_FEATURE_MERGE_AND_DETACH
.
This method invocation will fail silently when feature is not supported.
public boolean redial(BluetoothDevice device)
device
- remote devicetrue
if command has been issued successfully;
false
otherwise;
upon completion HFP sends ACTION_CALL_CHANGED
intent in case of success; ACTION_RESULT
is sent
otherwise;public boolean dial(BluetoothDevice device, String number)
device
- remote devicenumber
- valid phone numbertrue
if command has been issued successfully;
false
otherwise;
upon completion HFP sends ACTION_CALL_CHANGED
intent in case of success; ACTION_RESULT
is sent
otherwise;public boolean dialMemory(BluetoothDevice device, int location)
device
- remote devicelocation
- valid memory locationtrue
if command has been issued successfully;
false
otherwise;
upon completion HFP sends ACTION_CALL_CHANGED
intent in case of success; ACTION_RESULT
is sent
otherwise;public boolean sendDTMF(BluetoothDevice device, byte code)
device
- remote devicecode
- ASCII codetrue
if command has been issued successfully;
false
otherwise;
upon completion HFP sends ACTION_RESULT
intent;public boolean getLastVoiceTagNumber(BluetoothDevice device)
device
- remote devicetrue
if command has been issued successfully;
false
otherwise;
upon completion HFP sends ACTION_LAST_VTAG
or ACTION_RESULT
intent;
Feature required for successful execution is being reported by:
EXTRA_AG_FEATURE_ATTACH_NUMBER_TO_VT
.
This method invocation will fail silently when feature is not supported.
public boolean acceptIncomingConnect(BluetoothDevice device)
public boolean rejectIncomingConnect(BluetoothDevice device)
public int getAudioState(BluetoothDevice device)
public void setAudioRouteAllowed(boolean allowed)
public boolean getAudioRouteAllowed()
public boolean connectAudio()
true
if command has been issued successfully;
false
otherwise;
upon completion HFP sends ACTION_AUDIO_STATE_CHANGED
intent;public boolean disconnectAudio()
true
if command has been issued successfully;
false
otherwise;
upon completion HFP sends ACTION_AUDIO_STATE_CHANGED
intent;public Bundle getCurrentAgFeatures(BluetoothDevice device)
device
- remote device