Код обнаружения Bluetooth / сканирования не работает после обновления Android 6 на моем Nexus 5

После обновления (Android 6) моей nexus 5 мое запущенное приложение не сможет сканировать (найти) любое устройство Bluetooth. GetBondedDevices (), чтобы получить список парных устройств, работающих нормально.

Я также тестировал множество примеров кода и приложения (я добавил ссылку ниже) функциональности Bluetooth. Все они имеют ту же проблему, что не могут найти устройство Bluetooth.

Но да, я нашел только одно приложение в игровом магазине, которое работает, и оно способно обнаружить / сканировать устройство Bluetooth.

Неработающие приложения на Android 6 (Nexus 5) Я тестировал много приложений, таких как bluetrem, образец кода для Android Developer и многие другие.

Рабочее приложение Bluetooth 4.0 Сканер https://play.google.com/store/apps/details?id=com.bluemotionlabs.bluescan

Кто-нибудь знает, в чем проблема, есть ли какие-либо изменения, необходимые для кода для совместимости с Android 6

По крайней мере, в патче безопасности для Android 6.0 от 1 ноября 2015 года вам необходимы не только разрешения ACCESS_FINE_LOCATION или ACCESS_COARSE_LOCATION но также необходимо, чтобы служба определения местоположения фактически была ACCESS_COARSE_LOCATION чтобы работать в режиме сканирования Bluetooth.

Я проверил это в своем приложении и кучу других приложений BLE в Play Маркете, включая Bluetooth 4.0 Scanner .

Это означает, что мы должны убедиться, что местоположение включено, прежде чем запускать сканирование, иначе он будет терпеть неудачу.

Он работает, это решение, попробуйте включить GPS после того, как вы положили ACCESS_FILE_LOCATION или ACCESS_COARSE_LOCATION и после запроса разрешения на запуск

Поскольку в списке изменений Android 6 ваше приложение должно теперь иметь разрешения ACCESS_FINE_LOCATION или ACCESS_COARSE_LOCATION для некоторых вызовов Bluetooth. Пожалуйста, проверьте, есть ли у вас это.