Bluetooth:
To work with Bluetooth, we have a class called BluetoothAdapter, which is responsible for doing all Bluetooth operations.
Steps:
1) Get Bluetooth Adapter object
BluetoothAdapter adapter = Bluetooth.getDefaultAdapter();
2) Turn on Bluetooth by checking if it is not enabled
if(adapter.isEnabled()==false){
Intent i = new Intent(BluetoothAdapter.ACTION_REQUEST_ENABLE);
startActivityForResult(i, 2222);
Toast.makeText(this, “Turned On”, Toast.LENGTH_SHORT).show();
}else{
Toast.makeText(this, “Already turned on”, Toast.LENGTH_SHORT).show();
}
3) To get paired devices, we call a method adapter.getBondedDevices()
Set<BluetoothDevice> bondedDevices = adapter.getBondedDevices();
String deviceInfo = “”;
for(BluetoothDevice device: bondedDevices){
deviceInfo = deviceInfo+device.getName()+”\n”;
}
textView.setText(deviceInfo);
4) To find available devices, we need to create a local BroadcastReceiver and register it in Activity. So that, whenever a device is identified, the receiver will be automatically notified.
class BluetoothReceiver extends BroadcastReceiver{
@Override
public void onReceive(Context context, Intent intent) {
BluetoothDevice device = intent.getParcelableExtra(BluetoothDevice.EXTRA_DEVICE);
textView.setText(device.getName()+” “+device.getAddress());
}
}
To register that receiver,
IntentFilter filter = new IntentFilter();
filter.addAction(BluetoothDevice.ACTION_FOUND);
BluetoothReceiver receiver = new BluetoothReceiver();
registerReceiver(receiver, filter);
Then, we start discovering devices
adapter.startDiscovery();
Note:
To work with Bluetooth, the following permissions must be declared in manifest
<uses-permission android:name=”android.permission.BLUETOOTH”/>
<uses-permission android:name=”android.permission.BLUETOOTH_ADMIN”/>
<uses-permission android:name=”android.permission.ACCESS_COARSE_LOCATION”/>
Create an Android application to work with Bluetooth