title: How to force Bluetooth LE "Just Works" Pairing in Android
body: <p>I have an embedded system running a GATT server that I am trying to connect to via Android. The task is simple: connect to the GATT server, navigate characteristics, and validate read/write capabilities. The problem is when I try and connect with an Android app, it attempts to pair with a "Passkey" instead of with "Just Works" [<a href="https://developer.bluetooth.org/TechnologyOverview/Pages/LE-Security.aspx]" rel="noreferrer">https://developer.bluetooth.org/TechnologyOverview/Pages/LE-Security.aspx]</a>. This isn't acceptable as my embedded device does not have any method of displaying a key to the user to use for pairing. So the connection method must be Just Works.</p>
  
  <p>I have tried numerous apps from the Play store and all of them only attempt to pair with Passkey. But this is the current one I am working with: <a href="https://play.google.com/store/apps/details?id=com.macdom.ble.blescanner" rel="noreferrer">https://play.google.com/store/apps/details?id=com.macdom.ble.blescanner</a></p>
  
  <p>I have this working using the LightBlue application (supported in OS X and iOS). So I know my peripheral (GATT server) is working: advertising, connectable, characteristic accessible, etc. </p>
  
  <p>How do I force Android to use Just Works instead of Passkey pairing? Is there a peripheral configuration I'm missing?</p>
  
  <p>Thanks</p>