Does BluetoothLeAdvertiser work on a Nexus 5 with Android 5.0?

davidgyoung picture davidgyoung · Oct 18, 2014 · Viewed 10.7k times · Source

After flashing my Nexus 5 to the Android 5.0 preview release hammerhead-lpx13d, the OS reports that it no longer supports Bluetooth LE advertising. If you call:

((BluetoothManager) this.getSystemService(Context.BLUETOOTH_SERVICE))
    .getAdapter().getBluetoothLeAdvertiser()

always returns null. In addition, the new method:

((BluetoothManager) this.getSystemService(Context.BLUETOOTH_SERVICE))
    .getAdapter().isMultipleAdvertisementSupported()

always returns false

The first method used to return a valid object on the first Android L preview release for the Nexus 5 back in June. It no longer does, after flashing the latest update.

Does anybody see otherwise?

EDIT: This has been reproduced by at least one person, who opened an issue with Google here: https://code.google.com/p/android-developer-preview/issues/detail?id=1570

Answer

davidgyoung picture davidgyoung · Nov 15, 2014

Unfortunately, the official answer from Google is no, the Nexus 5 no longer supports advertising.

We introduced BLE peripheral mode in Android 5.0 Lollipop. Nexus 6 and Nexus 9 are the first two production Nexus devices that support BLE peripheral mode. Due to hardware chipset dependency, older Nexus devices (4/5/7) will not have access to the feature on Lollipop.

See Comment #52 on issue 1570 by [email protected]: BLE advertise mode not working https://code.google.com/p/android-developer-preview/issues/detail?id=1570

That said, I have confirmed that advertising is supported by the Nexus 9 tablet. See here for details: http://developer.radiusnetworks.com/2014/11/18/beacon-transmission-with-android-5.html