Обнаруживать, разрешено ли Bluetooth на iPad iOS 7

Вопрос:

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

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

Лучший ответ:

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

Добавьте в свой viewDidLoad или некоторую функцию верхнего уровня:

_centralManager = [[CBCentralManager alloc] initWithDelegate:self queue:nil];

Вы можете переопределить ‘centralManagerDidUpdateState’, чтобы поймать обратный вызов:

- (void)centralManagerDidUpdateState:(CBCentralManager *)central {
    if (central.state == CBCentralManagerStatePoweredOn) {
        //Do what you intend to do
    } else if(central.state == CBCentralManagerStatePoweredOff) {
        //Bluetooth is disabled. ios pops-up an alert automatically
    }
}

Ответ №1

Принятый ответ нужно немного обновить для iOS 10.

CBCentralManagerStatePoweredOn и CBCentralManagerStatePoweredOff устарели и должны быть заменены CBManagerStatePoweredOn и CBManagerStatePoweredOff.

Обновленный код:

- (void)centralManagerDidUpdateState:(CBCentralManager*)aManager
{
if( aManager.state == CBManagerStatePoweredOn )
{
//Do what you intend to do
}
else if( aManager.state == CBManagerStatePoweredOff )
{
//Bluetooth is disabled. ios pops-up an alert automatically
}
}

Оцените статью
TechArks.Ru
Добавить комментарий