title: Connected/Disconnected events are not received for multiple BLE devices connect
body: <p>I have a requirement to connect/disconnect multiple Bluetooth LE device, after getting the connect/disconnect event from the native. </p>
  
  <p><code>i.e.BluetoothAdapter.STATE_CONNECTED/BluetoothAdapter.STATE_DISCONNECTED</code>. </p>
  
  <p>I could able receive all the events like 
  <code>BluetoothAdapter.STATE_CONNECTING,BluetoothAdapter.STATE_CONNECTED</code>, <code>BluetoothAdapter.STATE_DISCONNECTING,BluetoothAdapter.STATE_DISCONNECTED</code>. </p>
  
  <p>If I am trying to connect for the 1st device. But when ever 2nd device trying to connect it gave me only the bonded state not the connect/Disconnect state. </p>
  
  <p>I have register the below mentioned intents to receive the state change </p>
  
  <pre><code>&lt;action android:name="android.bluetooth.device.action.BOND_STATE_CHANGED" /&gt;
  &lt;action android:name="android.bluetooth.device.action.ACL_CONNECTED" /&gt;
  &lt;action android:name="android.bluetooth.device.action.PAIRING_REQUEST" /&gt;
  &lt;action android:name="android.bluetooth.device.action.CLASS_CHANGED" /&gt;
  &lt;action   
   android:name="android.bluetooth.adapter.action.CONNECTION_STATE_CHANGED" /&gt;
  &lt;action android:name="android.bluetooth.adapter.action.STATE_CHANGED" /&gt;
  &lt;action android:name="android.bluetooth.device.action.ACL_DISCONNECTED" /&gt;
  </code></pre>
  
  <p>Please find my received class </p>
  
  <pre><code>public class ConnectionReciever extends BroadcastReceiver {
  
     @Override
     public void onReceive(Context arg0, Intent intent) {
  
      String action = intent.getAction();
      if(action.equalsIgnoreCase(BluetoothDevice.ACTION_BOND_STATE_CHANGED)) {
      int extra = intent.getIntExtra(BluetoothDevice.EXTRA_BOND_STATE, 345);  
      Log.d("&lt;&lt;ConnectionReciever&gt;&gt;", "&gt;&gt;&gt;&gt;&gt;EXTRA_Bond_STATE = "+ extra);
      int extra1 = 
         intent.getIntExtra(BluetoothAdapter.EXTRA_CONNECTION_STATE, 345);    
      Log.d("&lt;&lt;ConnectionReciever&gt;&gt;", 
             "&gt;&gt;&gt;&gt;&gt;EXTRA_CONNECTION_STATE = "+ extra1);
          switch (extra) {
          case BluetoothDevice.BOND_BONDED:
  
              Log.d("Bikash---", "bond bonded BluetoothDevice.BOND_BONDED");
              break;
          case BluetoothDevice.BOND_BONDING:
              Log.d("Bikash---", "bond bonding BluetoothDevice.BOND_BONDING");
              break;
          case BluetoothDevice.BOND_NONE:
              Log.d("Bikash---", "bond NONE---  BluetoothDevice.BOND_None");
              break;
  
          default:
              break;
          }
      }      
   if(action.equalsIgnoreCase(
     BluetoothAdapter.ACTION_CONNECTION_STATE_CHANGED)) {
     int extra = intent.getIntExtra(BluetoothAdapter.EXTRA_CONNECTION_STATE,
      BluetoothAdapter.STATE_DISCONNECTED);
  
      BluetoothDevice device = 
         intent.getParcelableExtra(BluetoothDevice.EXTRA_DEVICE);
          Log.d("Bikash---", "--------- Bluetooth A2DP device 
             :"+device.getName()+" address :"+device.getAddress());
  
          switch (extra) {
          case BluetoothAdapter.STATE_CONNECTING:
              Log.d("Bikash---", "------- Bluetooth A2DP state Connecting");
              break;
          case BluetoothAdapter.STATE_CONNECTED:
              Log.d("Bikash---", "------- Bluetooth A2DP state Connected");
              break;
          case BluetoothAdapter.STATE_DISCONNECTING:
              Log.d("Bikash---", "------- Bluetooth A2DP state 
                   Disconnecting");
              break;
          case BluetoothAdapter.STATE_DISCONNECTED:
              Log.d("Bikash---", "------- Bluetooth A2DP state Disconnected");
              break;
          default:
              Log.d("Bikash---", "------- default case 1");
              break;
          }
  
      }       
  
  
  }
  </code></pre>