gpt4 book ai didi

ios - 不使用 CBPeripheralManager 获取蓝牙开/关状态

转载 作者:行者123 更新时间:2023-11-28 08:17:53 25 4
gpt4 key购买 nike

我实际上正在做一个 swift3 项目,它需要知道蓝牙是否在设备上激活。我已经阅读了很多关于这个主题的主题,但是除了使用 centralManagerDidUpdateState

之外,没有一个可以帮助我通过其他方式来做到这一点

实际上我有这段代码:

private func GetBluetoothInformation() {
let options = [CBCentralManagerOptionShowPowerAlertKey:0]
bluetoothPeripheralManager = CBPeripheralManager(delegate: self, queue: nil, options: options)
}

func peripheralManagerDidUpdateState(_ peripheral: CBPeripheralManager) {
var status: Bool = false

switch peripheral.state {
case .poweredOn:
status = true
default:
status = false
}
m_session_chofer?.setIsBluetooth(status)
}

但这样做,我不知道每次调用 GetBluetoothInformation 是否会正确更新状态。

谢谢你的帮助,

最佳答案

var btManager = CBPeripheralManager(delegate: self, queue: nil, options: nil)

func peripheralManagerDidUpdateState(peripheral: CBPeripheralManager!) {
println(__FUNCTION__)
if peripheral.state == CBPeripheralManagerState.PoweredOn {
println("Broadcast")
btManager!.startAdvertising(_broadcastBeaconDict)
} else if peripheral.state == CBPeripheralManagerState.PoweredOff {
println("Stop")
btManager!.stopAdvertising()
} else if peripheral.state == CBPeripheralManagerState.Unsupported {
println("Unsupport")
} else if peripheral.state == CBPeripheralManagerState.Unauthorized {
println("Not allow")
}
}

关于ios - 不使用 CBPeripheralManager 获取蓝牙开/关状态,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42102574/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com