title: Connection to specific HID profile bluetooth device
body: <p>I connect bluetooth barcode scanner to my android tablet. barcode scanner is bonded with android device as a input device - HID profile. it shows as keyboard or mouse in system bluetooth manager. i discovered that bluetooth profile input device class exist but is hidden. class and btprofile constants have @hide annotaions in android docs.</p>
  
  <p>hidden class:</p>
  
  <blockquote>
    <p><a href="http://grepcode.com/file/repository.grepcode.com/java/ext/com.google.android/android/4.3.1_r1/android/bluetooth/BluetoothInputDevice.java" rel="nofollow">http://grepcode.com/file/repository.grepcode.com/java/ext/com.google.android/android/4.3.1_r1/android/bluetooth/BluetoothInputDevice.java</a></p>
  </blockquote>
  
  <p>here they should be also 3 other constants</p>
  
  <blockquote>
    <p><a href="http://developer.android.com/reference/android/bluetooth/BluetoothProfile.html#HEADSET" rel="nofollow">developer.android.com/reference/android/bluetooth/BluetoothProfile.html#HEADSET</a></p>
  </blockquote>
  
  <p>just like</p>
  
  <pre><code>public static final int INPUT_DEVICE = 4;
  public static final int PAN = 5;
  public static final int PBAP = 6;
  </code></pre>
  
  <p>that constants are simple accessible by reflection.
  What i need to achieve, is list of devices by hid profile(INPUT_DEVICE). it should be simple with small changes using method:</p>
  
  <blockquote>
    <p><a href="http://developer.android.com/reference/android/bluetooth/BluetoothA2dp.html#getConnectedDevices()" rel="nofollow">developer.android.com/reference/android/bluetooth/BluetoothA2dp.html#getConnectedDevices()</a></p>
  </blockquote>
  
  <p>not for A2dp profile, but for hid profile accessed also by reflection methods.
  sadly</p>
  
  <pre><code>Class c = Class.forName("android.bluetooth.BluetoothInputDevice")
  </code></pre>
  
  <p>won't work..
  any ideas how i should approach to the problem ? i need only list of hid devices </p>