zheka 1 13 марта, 2023 Опубликовано 13 марта, 2023 · Жалоба Стряхнул вчера пыль со старого, отлично работавшего проекта на bluetooth, которому лет 6. Точнее вчера полдня стряхивал, не мог запустить, на новом железе (новый смартфон) и новом софте (Embarcedero). Модуль остался старый - HM-13. Оказывается теперь без разрешения использовать GPS блютуз никак не хочет работать. Самое мерзкое, что телефон даже ошибок не выдавал, приложение либо вылетало, либо не видело устройств, хотя сам телефон их обнаруживал. Еще больше удивило, что разрешения - не формальные, если их установить, но не включить геолокацию, то устройства не видны. Мне просто любопытно - а почему так сделали? Второй вопрос, для тех кто работал в Embarcedero c компонентом TBluetooth - а можно ли, как-то прервать поиск, инициируемый командой Bluetooth1->DiscoverDevices(10000); прервать досрочно? Пока оно ищет, я по таймеру проверяю список обнаруженных устройств и вижу нужное мне еще до того, как поиск заканчивается. Могу ли я его прервать? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
zheka 1 14 марта, 2023 Опубликовано 14 марта, 2023 · Жалоба не думал, что вопрос вызовет сложность) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Daniil 2 14 марта, 2023 Опубликовано 14 марта, 2023 · Жалоба 20 часов назад, zheka сказал: Оказывается теперь без разрешения использовать GPS блютуз никак не хочет работать. Самое мерзкое, что телефон даже ошибок не выдавал, приложение либо вылетало, либо не видело устройств, хотя сам телефон их обнаруживал. Еще больше удивило, что разрешения - не формальные, если их установить, но не включить геолокацию, то устройства не видны. Мне просто любопытно - а почему так сделали? Мне тоже стало интересно, я с таким не сталкивался раньше. Погуглил и нашел вот это - https://issuetracker.google.com/issues/37065090 Коротко: непонятно зачем это сделали, но этот баг (или фича?) провисел много лет и был исправлен только в 12-м андроиде, если судить по трекеру. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
zheka 1 14 марта, 2023 Опубликовано 14 марта, 2023 · Жалоба 16 minutes ago, Daniil said: но этот баг (или фича?) провисел много лет и был исправлен только в 12-м андроиде, если судить по трекеру. Наверное баг. Ибо решений этого бага в сети (советов включить GPS) полно, а в мануалах ничего не написано. И, самое главное, ошибку андроид не выдает. Кстати, у меня 12 Андроид, почему же этот баг имеет место быть? По вашей ссылке еще про API version написано, что старше 23 версии такого бага не имеет. У меня 25 версия. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Daniil 2 15 марта, 2023 Опубликовано 15 марта, 2023 · Жалоба 20 часов назад, zheka сказал: Кстати, у меня 12 Андроид, почему же этот баг имеет место быть? По вашей ссылке еще про API version написано, что старше 23 версии такого бага не имеет. У меня 25 версия. Тут сложно сказать. Проблема исправлена в нативном андроиде. В кастомных версиях андроида разных производителей могут быть свои особенности. Или приложение требует доработки (https://developer.android.com/about/versions/12/features#bluetooth-permissions😞 Цитата Android 12 introduces the BLUETOOTH_SCAN, BLUETOOTH_ADVERTISE, and BLUETOOTH_CONNECT permissions. These permissions make it easier for apps that target Android 12 to interact with Bluetooth devices, especially for apps that don't require access to device location. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться