diff --git a/core/java/android/bluetooth/BluetoothHeadset.java b/core/java/android/bluetooth/BluetoothHeadset.java index d5b0042010015..2959fc02d57c8 100644 --- a/core/java/android/bluetooth/BluetoothHeadset.java +++ b/core/java/android/bluetooth/BluetoothHeadset.java @@ -670,6 +670,26 @@ public final class BluetoothHeadset implements BluetoothProfile { return false; } + /** + * Send a AT command message to the headset. + * @param device Remote Bluetooth Device + * @param cmd The String to send. + * @hide + */ + public void sendAtCommand(BluetoothDevice device, String command) { + if (DBG) log("sendAtCommand()"); + if (mService != null && isEnabled() && isValidDevice(device)) { + try { + mService.sendAtCommand(device, command); + } catch (RemoteException e) { + Log.e(TAG, e.toString()); + } + } else { + Log.w(TAG, "Proxy not attached to service"); + if (DBG) Log.d(TAG, Log.getStackTraceString(new Throwable())); + } + } + private ServiceConnection mConnection = new ServiceConnection() { public void onServiceConnected(ComponentName className, IBinder service) { if (DBG) Log.d(TAG, "Proxy object connected"); diff --git a/core/java/android/bluetooth/IBluetoothHeadset.aidl b/core/java/android/bluetooth/IBluetoothHeadset.aidl index e9521939ef85f..3c6cf7711333d 100644 --- a/core/java/android/bluetooth/IBluetoothHeadset.aidl +++ b/core/java/android/bluetooth/IBluetoothHeadset.aidl @@ -50,4 +50,6 @@ interface IBluetoothHeadset { boolean startVirtualVoiceCall(in BluetoothDevice device); boolean stopVirtualVoiceCall(in BluetoothDevice device); + + void sendAtCommand(in BluetoothDevice device, String urc); }