Після оновлення до версії Android 6.0 сканування Bluetooth із низьким енергоспоживанням (BLE) працюватиме лише в тому випадку, якщо на пристрої ввімкнено служби локації. Див. Тут для довідки: Bluetooth Low Energy startScan на Android 6.0 не знаходить пристроїв
В основному, вам потрібно мати дозвіл на додаток, а також на телефон. Це помилка? Чи можна сканувати без фактично ввімкнених служб визначення місцезнаходження? Я не хочу мати розташування для всіх своїх програм.
РЕДАКТУВАТИ
Я не згадував, що я використовую startScan()
метод, наведений BluetoothLeScanner
в API 21. Я добре з курсом і дозволами на точне розташування в маніфесті, які вимагає цей метод. Я просто не хочу, щоб користувачі мого додатка повинні вмикати служби визначення місцезнаходження на своєму пристрої (GPS тощо) для використання мого додатка.
Раніше startScan()
метод запускався і повертав результати з вимкненими службами локації на телефоні. Однак на Зефірі той самий додаток "сканував", але мовчки не працював і не повертав результатів, коли служби локації не були ввімкнені в телефоні, а дозволи на курс / точне розташування все ще були в маніфесті.