После обновления до версии 6.0 для Android версии 6.0 Bluetooth Low Energy (BLE) сканирование будет работать только в том случае, если на устройстве включены службы геопозиционирования. См. Здесь для справки: Bluetooth Low Energy startScan на Android 6.0 не находит устройства
В принципе, вам необходимо иметь разрешение для приложения, а также для телефона. Это ошибка? Возможно ли сканирование без фактического включения служб определения местоположения? Я не хочу иметь место для всех моих приложений.
ИЗМЕНИТЬ
Я не упомянул, что я использую метод startScan()
в BluetoothLeScanner
, представленный в API 21. Я согласен с правилами курса и прекрасным разрешением в манифесте, который требуется для этого метода. Я просто не хочу, чтобы пользователи моего приложения должны были включить службы определения местоположения на своем устройстве (GPS и т.д.), Чтобы использовать мое приложение.
Ранее метод startScan()
запускал и возвращал результаты с отключенными службами местоположения на телефоне. Однако в Marshmallow одно и то же приложение "сканировало", но молчал и не возвращало никаких результатов, когда службы определения местоположения не были включены на телефоне, а разрешения на доступ к конечному/конечному месту были все еще в манифесте.