title: BLE Advertise 32-bit Service-UUID in Android Oreo
body: <p>I have a small app which just performs a BLE Advertising. 
  The app runs on a <strong>Nexus 5x with Android 8.0</strong></p>
  
  <p>This is the code to start BLE advertising:</p>
  
  <pre><code>private fun startAdvertising() {
      val serviceUuid = ParcelUuid.fromString("DAB5D1DC-0000-1000-8000-00805F9B34FB")
  
      val data = AdvertiseData.Builder()
              .setIncludeTxPowerLevel(false)
              .setIncludeDeviceName(false)
              .addServiceUuid(serviceUuid)
              .build()
  
      val settings = AdvertiseSettings.Builder()
              .setAdvertiseMode(AdvertiseSettings.ADVERTISE_MODE_LOW_LATENCY)
              .setTxPowerLevel(AdvertiseSettings.ADVERTISE_TX_POWER_HIGH)
              .setConnectable(true)
              .build()
  
      bluetoothLeAdvertiser!!.startAdvertising(settings, data, advertiserCallback)
  }
  </code></pre>
  
  <p>The advertising starts, but the payload is wrong. On <strong>Pre</strong>-Android 8.0 devices we receive the correct service-uuid when scan for this messages with a 2nd device:</p>
  
  <pre><code>32-bit Service-UUID: 0xDAB5D1DC
  </code></pre>
  
  <p>But when I start the advertisements on my Nexus 5x with Android 8.0, I receive an incorrect service-uuid:</p>
  
  <pre><code>32-bit Service-UUID: 0x0000D1DC
  </code></pre>
  
  <p>For the BLE scanning part I use the nrf Connect app from playstore.</p>
  
  <p>Everything works as expected, if I advertise a common 128-bit Service UUID and not an 32-bit one. </p>
  
  <p>Are there any changes for Android 8.0 regarding my issue?</p>
  
  <p><strong>Update 2017-08-28:</strong></p>
  
  <p>Same issue on a Nexus 6P. Created an issue: <a href="https://issuetracker.google.com/issues/65099899" rel="nofollow noreferrer">https://issuetracker.google.com/issues/65099899</a></p>