Note that there are some explanatory texts on larger screens.

plurals
  1. PO
    text
    copied!<p>Here's how you unpair/remove a bonded device call this method where macAddress is the string of the mac address of the device..i.e. "00:02:00:A3:03:05"</p> <pre><code>IBluetooth ib =getIBluetooth(); ib.removeBond(macAddress); </code></pre> <p>To get the IBluetooth Object you need to go through a couple of steps </p> <ol> <li>create a package in your project called android.bluetooth</li> <li>create two files, IBluetooth.aidl and IBluetoothCallback.aidl</li> <li><p>create method in your files called getBluetooth()</p> <pre><code>private IBluetooth getIBluetooth() { IBluetooth ibt = null; try { Class c2 = Class.forName("android.os.ServiceManager"); Method m2 = c2.getDeclaredMethod("getService",String.class); IBinder b = (IBinder) m2.invoke(null, "bluetooth"); Class c3 = Class.forName("android.bluetooth.IBluetooth"); Class[] s2 = c3.getDeclaredClasses(); Class c = s2[0]; Method m = c.getDeclaredMethod("asInterface",IBinder.class); m.setAccessible(true); ibt = (IBluetooth) m.invoke(null, b); } catch (Exception e) { Log.e("flowlab", "Erroraco!!! " + e.getMessage()); } return ibt; } </code></pre> <p>/<strong><em>*</em>**<em>*</em>**<em>*</em>**<em>*</em>**</strong> IBluetooth.aidl <strong><em>*</em>**<em>*</em>**<em>*</em>**<em>*</em>**</strong>/</p> <pre><code>package android.bluetooth; import android.bluetooth.IBluetoothCallback; import android.os.ParcelUuid; /** * System private API for talking with the Bluetooth service. * * {@hide} */ interface IBluetooth { boolean isEnabled(); int getBluetoothState(); boolean enable(); boolean disable(boolean persistSetting); String getAddress(); String getName(); boolean setName(in String name); int getScanMode(); boolean setScanMode(int mode, int duration); int getDiscoverableTimeout(); boolean setDiscoverableTimeout(int timeout); boolean startDiscovery(); boolean cancelDiscovery(); boolean isDiscovering(); boolean createBond(in String address); boolean cancelBondProcess(in String address); boolean removeBond(in String address); String[] listBonds(); int getBondState(in String address); String getRemoteName(in String address); int getRemoteClass(in String address); ParcelUuid[] getRemoteUuids(in String address); boolean fetchRemoteUuids(in String address, in ParcelUuid uuid, in IBluetoothCallback callback); int getRemoteServiceChannel(in String address, in ParcelUuid uuid); boolean setPin(in String address, in byte[] pin); boolean setPasskey(in String address, int passkey); boolean setPairingConfirmation(in String address, boolean confirm); boolean cancelPairingUserInput(in String address); boolean setTrust(in String address, in boolean value); boolean getTrustState(in String address); int addRfcommServiceRecord(in String serviceName, in ParcelUuid uuid, int channel, IBinder b); void removeServiceRecord(int handle); } </code></pre></li> </ol> <p>/<strong><em>*</em>**<em>*</em>**<em>*</em>**<em>*</em>**</strong> IBluetoothCallback.aidl <strong><em>*</em>**<em>*</em>**<em>*</em>**<em>*</em>**</strong>/</p> <pre><code> package android.bluetooth; /** * System private API for Bluetooth service callbacks. * * {@hide} */ interface IBluetoothCallback { void onRfcommChannelFound(int channel); } </code></pre>
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload