The location service in API 23 has a Scan settings panel.

Switches are used to improve location accuracy for Wi-Fi and Bluetooth.

By enabling it, the location service can use BLE scanning even if Bluetooth is not turned on . In this case, setNeedBle(true)
will not prompt the user to open Bluetooth, as the location service can already use BLE.
But I donβt know how to make BLE scanning in the location service available in our own application, maybe this is not possible.
I suggest checking if Bluetooth is turned on after the request location service and showing a prompt to turn on Bluetooth if itβs not turned on.
source share