Friday, 26 December 2014

Android Bluetooth List Paired Devices Example

Bluetooth is a way to exchange data with other devices wirelessly. Android provides Bluetooth API to perform several tasks such as:
  • scan bluetooth devices
  • connect and transfer data from and to other devices
  • manage multiple connections etc.
Android Bluetooth Api:
The android.bluetooth package provides a lot of interfaces classes to work with bluetooth such as:
  • BluetoothAdapter
  • BluetoothDevice
  • BluetoothSocket
  • BluetoothServerSocket
  • BluetoothClass
  • BluetoothProfile
  • BluetoothProfile.ServiceListener
  • BluetoothHeadset
  • BluetoothA2dp
  • BluetoothHealth
  • BluetoothHealthCallback
  • BluetoothHealthAppConfiguration
List Paired Devices Example:

MainActivity.java:


public class MainActivity extends Activity {
 TextView textview1;
 private static final int REQUEST_ENABLE_BT = 1;
 BluetoothAdapter btAdapter; 
 @Override
 public void onCreate(Bundle savedInstanceState) {
   super.onCreate(savedInstanceState);
   setContentView(R.layout.activity_main);
   textview1 = (TextView) findViewById(R.id.textView1);
   btAdapter = BluetoothAdapter.getDefaultAdapter();
   CheckBluetoothState();
 }
 @Override
 protected void onActivityResult(int requestCode, int resultCode, Intent data) {
   super.onActivityResult(requestCode, resultCode, data);
   if (requestCode == REQUEST_ENABLE_BT) {
     CheckBluetoothState();
   }
 }
 
 @Override
 protected void onDestroy() {
   super.onDestroy();
 }
 
 private void CheckBluetoothState() {
   // Checks for the Bluetooth support and then makes sure it is turned on
   // If it isn't turned on, request to turn it on
   // List paired devices
   if(btAdapter==null) { 
     textview1.append("\nBluetooth NOT supported. Aborting.");
     return;
   } else {
     if (btAdapter.isEnabled()) {
       textview1.append("\nBluetooth is enabled...");
        
       // Listing paired devices
       textview1.append("\nPaired Devices are:");
       Set<BluetoothDevice> devices = btAdapter.getBondedDevices();
       for (BluetoothDevice device : devices) {
         textview1.append("\n  Device: " + device.getName() + ", " + device);
       }
     } else {
       //Prompt user to turn on Bluetooth
       Intent enableBtIntent = new Intent(BluetoothAdapter.ACTION_REQUEST_ENABLE);
       startActivityForResult(enableBtIntent, REQUEST_ENABLE_BT);
     }
   }
 }
    

@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.activity_main, menu);
return true;
}

}

activity_main. xml:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".MainActivity" >

    <TextView
        android:id="@+id/textView1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentLeft="true"
        android:layout_alignParentTop="true"
        android:layout_marginLeft="18dp"
        android:layout_marginTop="61dp"
        android:text="Showing Paired Devices:" />

</RelativeLayout>

Add Permission In Manifest File:


 <uses-permission android:name="android.permission.BLUETOOTH" />
    <uses-permission android:name="android.permission.BLUETOOTH_ADMIN" />

No comments:

Post a Comment