Как включить Bluetooth при разрешении

Обновлено: 21.11.2024

Основная платформа Bluetooth – это уровень абстракции, который предоставляет разработчикам доступ к оборудованию BLE. Apple представила немало изменений к лучшему во время WWDC 2019. Помимо быстрой передачи и энергоэффективных соединений, большое внимание было уделено конфиденциальности пользователей.

До iOS 12 приложения могли получать доступ к Bluetooth без ведома пользователя. Это может быть сделано по уважительной причине, например для подключения к Chromecast или беспроводным гарнитурам.

Но это имело свои подводные камни и создавало брешь в конфиденциальности пользователя. Разработчики могут воспользоваться этим и отслеживать такие вещи, как данные о местоположении.

Начиная с iOS 13, если ваше приложение использует какой-либо из основных API Bluetooth, для него требуется разрешение пользователя. И, конечно же, они могут изменить это в настройках!

Если вы обновили свое устройство до iOS 13, я уверен, что вы видели указанное выше приглашение много раз!

Это приводит к осветить количество приложений, которые до сих пор использовали Bluetooth.

Начиная с iOS 13 разработчики обязаны указать описание использования конфиденциальности для Bluetooth, включив NSBluetoothAlwaysUsageDescription в свой файл info.plist. Доступ к Core Bluetooth без описаний использования приведет к сбою во время выполнения.

Для обратной поддержки более старых версий iOS также необходимо определить NSBluetoothPeripheralUsageDescription.

CBManagerAuthorisation — это новое свойство, добавленное в iOS 13. Оно используется для определения статуса авторизации разрешения Bluetooth.

Свойство авторизации может иметь любое из следующих состояний:

В следующем разделе мы обсудим различные шаги, которые необходимо выполнить, чтобы интегрировать CoreBluetooth в ваше приложение.

импортируйте CoreBluetooth, чтобы использовать Core Bluetooth Framework в вашей кодовой базе.

Для использования основных функций Bluetooth нам необходимо реализовать протоколы CBPeripheralDelegate и CBCentralManagerDelegate.

Инициализировать диспетчер Bluetooth

CBCentralManager отвечает за сканирование и подключение к устройствам. Как только соединение установлено, CBPeripheral берет на себя все процедуры.

\n \n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
var CentralManager: CBCentralManager ?
периферийное устройство var: CBPeripheral ?
переопределить функцию viewDidLoad() \n
super . viewDidLoad()
centralManager = CBCentralManager (делегат: self, очередь: nil)
>
\n\n\n
var CentralManager: CBCentralManager ?
var периферия: CBPeripheral ?
переопределить func viewDidLoad()
super . viewDidLoad()
centralManager = CBCentralManager (делегат: self, очередь: nil)
>

Сразу при инициализации CentralManager запускается метод делегата CentralManagerDidUpdateState(_central: CBCentralManager) для проверки состояния соединения Bluetooth.

Если Bluetooth отключен, экземпляр CBCentralManager не может быть создан, и система автоматически выдаст диалоговое окно с запросом на его включение.

Мы можем проверить статус авторизации пользователя, используя свойство central.state.authorization.

\n \n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
func centralManagerDidUpdateState ( _ Central : CBCentralManager) \n
switch центральное.состояние \n
case . неавторизованный :
центральный коммутатор. авторизация \n
case . AllowedAlways :
case . disabled :
case . ограниченный:
case. notDetermined:
>
случай . неизвестно :
случай . неподдерживаемый:
case . PowerOn:
self . центральный менеджер ? .scanForPeripherals ( withServices : nil , options : [CBCentralManagerScanOptionAllowDuplicatesKey : true ])
case . powerOff :
case . сброс:
@unknown по умолчанию:
>
>
\n\n\n
func centralManagerDidUpdateState ( _ Central : CBCentralManager)
switch центральный. состояние
случай . неавторизованный:
центральный переключатель. авторизация
кейс . allowAlways :
case . отказано :
кейс . ограниченный :
кейс . неопределенный :
>
case . неизвестно :
кейс . не поддерживается :
case . powerOn :
self . центральный менеджер ? . scanForPeripherals ( withServices : nil , options : [CBCentralManagerScanOptionAllowDuplicatesKey : true ])
case . powerOff :
case . сброс:
@unknown по умолчанию:
>
>

Сканирование устройств возможно только при изменении состояния на «включено»

Примечание. Core Bluetooth сканирует только BLE-устройства.

Подключение к сканируемым устройствам

Как только устройство BLE обнаружено, оно отображается следующим образом:

\n \n\n \n \n \n \n \n \ n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n\n
func CentralManager ( _ Central: CBCentralManager, didDiscover периферия: CBPeripheral, adsData: [String: Any],
rssi RSSI : NSNumber) \n
\n
self .периферия = периферия
self . периферийный? . делегат = self
centralManager ?. connect (периферия, параметры: nil)
centralManager ? . stopScan ()
>
func CentralManager ( _ Central : CBCentralManager, didDiscover периферия: CBPeripheral, AdvertisingData: [String: Any ],
rssi RSSI : NSNumber)
self . периферия = периферия
self . периферийный? . делегат = self
centralManager ? . connect (периферия, опции: nil)
centralManager ? . stopScan()
>

После этого мы можем получить доступ к имени Bluetooth-устройства из свойства периферии.name.

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

Мы также можем выполнять такие действия, как передача данных с помощью функции writeValue на периферийном экземпляре. Положительным моментом является то, что пользователь знает!

Apple стремится обеспечить прозрачность и улучшить взаимодействие с пользователем, повышая безопасность Bluetooth с помощью новых разрешений iOS 13.

Ещё в Android 9 компания Google убрала расширяющееся мини-меню для подключения по Bluetooth. Как это было раньше, вы могли долго нажимать на переключатель Bluetooth в быстрых настройках, после чего панель превращалась в меню быстрого доступа к настройкам Bluetooth. Это была довольно второстепенная функция, но ее отказ значительно усложнил переключение между различными аксессуарами Bluetooth.

Хотя эта функция не полностью воспроизведена, новое приложение от разработчика Томаса Хадрабы еще больше упрощает переключение между аксессуарами Bluetooth. Вместо того, чтобы смахивать вниз, чтобы открыть панель быстрых настроек, а затем долго нажимать на переключатель Bluetooth и выбирать аксессуар, теперь вы можете переключать активное соединение, просто нажав кнопку на главном экране.

Шаг 1. Установите виджет Bluetooth Audio Device Widget

Чтобы начать, откройте приложение Play Маркет и выполните поиск по запросу "Виджет аудиоустройства Bluetooth", а затем установите приложение, соответствующее изображению на снимке экрана ниже. Или просто перейдите по следующей ссылке со своего телефона или любого браузера, в котором вы вошли в свою учетную запись Google, а затем нажмите "Установить".

Шаг 2. Предоставление разрешений

При первом открытии приложения вас встретит руководство по установке, объясняющее доступные функции. Прочитайте эти четыре страницы и нажмите "Далее" после первых трех, затем "Готово" на последней.

Когда вы попадете в главное меню приложения, вам будет предложено предоставить приложению доступ к вашему местоположению. Это требуется только в том случае, если одним из аксессуаров, между которыми вы хотите переключаться, является набор Apple AirPods. Если это так, нажмите «Разрешить все время» в следующем всплывающем окне. В новых версиях Android сначала нужно нажать «Разрешить в настройках» во всплывающем окне, а затем выбрать «Разрешить постоянно».

Еще одно разрешение, которое вы, возможно, захотите включить, — это возможность работать в фоновом режиме. Это сделает приложение более быстрым и надежным за счет небольшого времени автономной работы. Для этого откройте приложение «Настройки» и с помощью функции поиска найдите меню «Оптимизация использования батареи». Выберите «Все» в раскрывающемся меню в верхней части экрана, затем отключите переключатель «Bluetooth Audio Widget».

Шаг 3. Настройте виджет

Теперь приложение автоматически заполнит список аксессуаров Bluetooth, к которым вы подключались в прошлом. Будущие соединения Bluetooth также будут отображаться в верхней части этого меню. Здесь вы можете выбрать аксессуар, а затем нажать «Изменить значок», чтобы изменить название и внешний вид кнопки, которая появится на главном экране.

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

Шаг 4. Добавьте виджет

После того как вы настроили низкоуровневые настройки приложения по своему вкусу, перейдите на главный экран и нажмите и удерживайте любое пустое место (например, область без значков или виджетов). Затем выберите «Виджеты» в появившемся меню, затем прокрутите список, чтобы найти «Bluetooth Audio Widget». Нажмите и удерживайте его и перетащите в нужное место на главном экране, затем отпустите, и вам будет предложено выбрать устройство. Повторите этот процесс для любых других аксессуаров, между которыми вы хотите легко переключаться.

Шаг 5. Переключение Bluetooth-соединений одним касанием

Теперь, когда вы добавили виджеты быстрого подключения, все, что вам нужно сделать, это коснуться устройства, которое вы хотите использовать, и ваш телефон автоматически подключится к нему, если он находится в пределах досягаемости. Затем, когда вы захотите переключиться на другой аксессуар, просто нажмите на его виджет, и все будет готово одним нажатием!

Защитите свое соединение без ежемесячного счета. Получите пожизненную подписку на VPN Unlimited для всех своих устройств, совершив разовую покупку в новом магазине Gadget Hacks Shop, и смотрите Hulu или Netflix без региональных ограничений, повышайте безопасность при просмотре в общедоступных сетях и многое другое.

Google Chrome теперь предоставляет пользователям больший контроль над разрешениями веб-Bluetooth, чтобы разрешить веб-сайтам повторно подключаться к разрешенным устройствам веб-Bluetooth. Как стало известно Techtsp, он не только предоставляет разрешения Web Bluetooth для настроек сайта и информации о странице, но также позволяет пользователям осуществлять больший контроль над разрешениями Web Bluetooth.

Поскольку разрешения Web Bluetooth в настоящее время не отображаются в пользовательском интерфейсе настроек Chrome, пользователи не могут контролировать разрешения для устройств Web Bluetooth, и Chrome 85 намерен решить эту проблему.

Chrome 85 позволяет пользователям управлять разрешениями Bluetooth в пользовательском интерфейсе настроек благодаря экспериментальной функции. Используйте новый сервер разрешений для веб-Bluetooth за chrome://flags. В настройках сайта пользователи могут выбрать, хотят ли они, чтобы конкретный веб-сайт имел временный или постоянный доступ к устройству Bluetooth.

1. Запись устройств Bluetooth на странице настроек сайта

2. Страница разрешений устройства Bluetooth в настройках сайта

Здесь пользователи смогут запретить сайту доступ к устройствам или полностью заблокировать Web Bluetooth.

3. Запись устройств Bluetooth на странице сведений о сайте

В этом меню пользователи смогут заблокировать Web Bluetooth для определенного сайта.

4. Разрешения устройства Bluetooth в информации о странице

Пользователи смогут быстро отозвать разрешения устройства для текущего сайта или заблокировать Web Bluetooth для сайта.

Как включить флаг Использовать новый сервер разрешений для веб-Bluetooth в Google Chrome

  1. Откройте Google Chrome
  2. Открыть chrome://flags
  3. Найдите Использовать новый сервер разрешений для веб-Bluetooth.
  4. Установите флажок "Включить немедленно" в раскрывающемся меню.
  5. Перезапустите Chrome

Пользователи Chrome могут отозвать доступ Bluetooth, который они могли предоставить веб-сайту, или предоставить веб-сайту разрешение на временный доступ к устройству Bluetooth.

Chrome уже поддерживает Web Bluetooth API. Но это не помогает веб-сайтам поддерживать постоянное соединение Bluetooth с поддерживаемыми устройствами по нескольким причинам:

Web Bluetooth API не может предоставить пользователям список устройств, к которым у веб-сайта есть разрешение. Вот почему веб-API Bluetooth должен запрашивать у пользователя каждый раз, когда загружается устройство с поддержкой Bluetooth. Chrome 85 будет использовать метод Bluetooth.getDevices() для получения списка устройств Bluetooth, к которым у веб-сайта есть доступ.

Затем логика адаптера Bluetooth в Chrome также удаляет разрешенные веб-устройства Bluetooth, которые были неактивны более 3 минут. Чтобы решить эту проблему, Chrome теперь добавляет новый метод в свой существующий BluetoothAdapter.

Постоянные разрешения Google для Web Bluetooth будут совместимы с Windows, Mac, Linux, ChromeOS и Android.

Крис Хоффман

Крис Хоффман
Главный редактор

Крис Хоффман – главный редактор How-To Geek. Он писал о технологиях более десяти лет и два года был обозревателем PCWorld.Крис писал для The New York Times, давал интервью в качестве эксперта по технологиям на телевизионных станциях, таких как NBC 6 в Майами, и освещал свою работу в таких новостных агентствах, как BBC. С 2011 года Крис написал более 2000 статей, которые были прочитаны почти миллиард раз — и это только здесь, в How-To Geek. Подробнее.

Если вы установили iOS 13 на свой iPhone, вы, вероятно, заметили, что многие приложения внезапно запрашивают разрешение на использование вашего оборудования Bluetooth. Такое же изменение появится на iPad с обновлением iPadOS. Вот что происходит.

Ранее приложения могли использовать Bluetooth без запроса

Эти сообщения впервые появились в iOS 13. До этого обновления приложения на вашем iPhone или iPad могли использовать Bluetooth сколько угодно. Пока у вас включен Bluetooth, приложения могут использовать его без запроса.

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

Другими словами, все эти приложения раньше подключались к Bluetooth вашего iPhone или iPad. Теперь они должны сначала спросить, и вы внезапно видите, что они спрашивают впервые.

Почему Apple внесла изменения?

Apple внесла это изменение из соображений конфиденциальности. Bluetooth предназначен не только для подключения к внешним устройствам, таким как беспроводные наушники, клавиатуры и мыши. Магазины, торговые центры и другие общественные места все чаще устанавливают «маяки» Bluetooth. Приложение может связываться с ними, чтобы определить ваше физическое местоположение, например определить, находитесь ли вы в розничном магазине и где вы находитесь в этом магазине.

На конференции WWDC 2019 Крейг Федериги из Apple заявил, что Apple «закроет дверь для злоупотреблений» Bluetooth, чтобы приложения не могли отслеживать вас без вашего разрешения. Это то, что делает iOS 13.

До iOS 13 нельзя было определить, использует ли приложение Bluetooth, или остановить его, кроме отключения Bluetooth на вашем устройстве. Теперь приложение должно спросить, хочет ли оно использовать Bluetooth, и вы можете принять решение.

Зачем приложениям нужен Bluetooth?

Приложения используют Bluetooth не только для отслеживания вашего местоположения. И, даже если приложение отслеживает ваше местоположение, оно может делать это по полезной причине. Например, приложение Target использует маяки Bluetooth для определения вашего местоположения в своих магазинах. Приложение может подсказать вам, как пройти в магазин, и найти товары на полках.

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

Разработчики могут предоставить сообщение, объясняющее, почему их приложение запрашивает доступ по Bluetooth. Например, приложение Fitbit говорит: «Fitbit необходимо подключиться к вашему трекеру, чтобы отслеживать ваши упражнения».

Если разработчик приложения не предоставил специальное сообщение, вы просто увидите сообщение, в котором говорится: «Это позволит [Этому приложению] найти аксессуары Bluetooth и подключиться к ним. Это приложение также может использовать Bluetooth, чтобы знать, когда вы находитесь рядом».

Разрешить или запретить Bluetooth для приложения?

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

Если приложению требуется Bluetooth для работы с беспроводным аксессуаром, эта функция не будет работать, если вы не включите Bluetooth. Если такое приложение, как Target, использует Bluetooth для указания маршрута внутри помещения, оно не будет работать, если Bluetooth отключен. Но если у приложения нет уважительной причины для запроса Bluetooth, вы можете просто отказаться.

Как и в случае с другими типами разрешений на конфиденциальность в iOS от Apple, вы можете изменить свое решение позже, посетив приложение "Настройки".

Как включить или отключить Bluetooth для приложения

Выберите «Настройки» > «Конфиденциальность» > «Bluetooth», чтобы указать, может ли приложение использовать Bluetooth. Вы увидите список приложений, которые запросили доступ к Bluetooth вашего iPhone или iPad. Переверните переключатель приложения, чтобы включить или отключить для него Bluetooth.

Вы также можете открыть приложение "Настройки" и прокрутить вниз, пока не увидите алфавитный список всех установленных приложений. Коснитесь приложения в списке, чтобы просмотреть его разрешения.Включите или отключите разрешение «Общий доступ по Bluetooth», чтобы разрешить или запретить доступ к Bluetooth для этого приложения.

Раздражающие подсказки «Сейчас для большей конфиденциальности позже»

Bluetooth становится еще одним разрешением в операционной системе Apple iOS. Конечно, это означает больше диалоговых окон, через которые можно пройти. Но это также означает больший контроль над вашей конфиденциальностью и большую власть над тем, что могут делать приложения.

На момент выхода iOS 13 многие приложения запрашивают Bluetooth, не объясняя, для чего он нужен. Разработчикам приложений придется подумать о том, как лучше объяснить эти запросы Bluetooth своим пользователям. И если приложение использует Bluetooth только для отслеживания своих пользователей без какой-либо пользы для них, разработчику этого приложения придется подумать о том, действительно ли отрицательный PR стоит запрашивать разрешения Bluetooth.

  • › Только что обновились до iOS 13? Измените эти восемь настроек сейчас.
  • › Как сделать так, чтобы приложения для iPhone всегда запрашивали доступ к местоположению
  • › Все способы отслеживания вашего местоположения на iPhone
  • › Худшее, что есть в телефонах Samsung, — это программное обеспечение Samsung.
  • › Почему прозрачные чехлы для телефонов желтеют?
  • ›5 шрифтов, которые следует прекратить использовать (и лучшие альтернативы)
  • › Что означает XD и как вы его используете?
  • › Как установить Google Play Маркет в Windows 11

Читайте также: