Перейти к содержанию
    

Bluetooth и GPS

Стряхнул вчера пыль со старого, отлично работавшего проекта на bluetooth, которому лет 6.   Точнее вчера полдня стряхивал, не мог запустить, на новом железе (новый смартфон) и новом софте (Embarcedero). Модуль остался старый - HM-13.

Оказывается теперь без разрешения использовать GPS блютуз никак не хочет работать. Самое мерзкое, что телефон даже ошибок не выдавал, приложение либо вылетало, либо не видело устройств, хотя сам телефон их обнаруживал. Еще больше удивило, что разрешения - не формальные, если их установить, но не включить геолокацию, то устройства не видны.

Мне просто любопытно - а почему так сделали? 

 

Второй вопрос, для тех кто работал в Embarcedero c компонентом TBluetooth - а можно ли, как-то прервать поиск, инициируемый командой Bluetooth1->DiscoverDevices(10000); прервать досрочно?   

Пока оно ищет, я по таймеру проверяю список обнаруженных устройств и вижу нужное мне еще до того, как поиск заканчивается. Могу ли я его прервать?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

20 часов назад, zheka сказал:

Оказывается теперь без разрешения использовать GPS блютуз никак не хочет работать. Самое мерзкое, что телефон даже ошибок не выдавал, приложение либо вылетало, либо не видело устройств, хотя сам телефон их обнаруживал. Еще больше удивило, что разрешения - не формальные, если их установить, но не включить геолокацию, то устройства не видны.

Мне просто любопытно - а почему так сделали? 

Мне тоже стало интересно, я с таким не сталкивался раньше. Погуглил и нашел вот это - https://issuetracker.google.com/issues/37065090

Коротко: непонятно зачем это сделали, но этот баг (или фича?) провисел много лет и был исправлен только в 12-м андроиде, если судить по трекеру.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

16 minutes ago, Daniil said:

но этот баг (или фича?) провисел много лет и был исправлен только в 12-м андроиде, если судить по трекеру.

Наверное баг. Ибо решений этого бага в сети (советов включить GPS) полно, а в мануалах ничего не написано. И, самое главное, ошибку андроид не выдает.

Кстати, у меня 12 Андроид, почему же этот баг имеет место быть?

По вашей ссылке еще про API version написано, что старше 23 версии такого бага не имеет. У меня 25 версия.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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.

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...