2017-02-08 3 views
1

Ich arbeite tatsächlich an einem swift3-Projekt, das es wissen muss, ob das Bluetooth aktiviert ist oder nicht auf dem Gerät. Ich habe viele Themen zu diesem Thema gelesen hat, aber keiner von ihnen kann mir helfen, sie durch eine andere Art und Weise zu tun, als die centralManagerDidUpdateStateStatus von Bluetooth ON/OFF ohne CBPeripheralManager abrufen

Eigentlich verwendet habe ich diesen Code:

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) 
} 

Aber wie dies zu tun, ich weiß nicht, ob jedes Mal, wenn ich GetBluetoothInformation aufrufen werde den Status korrekt oder nicht aktualisieren.

Vielen Dank für die Hilfe,

+0

So Sie Bluetooth sprechen wollen, aber nicht die Werkzeuge Apple für das Gespräch mit Bluetooth zur Verfügung gestellt? – CodeBender

+0

Wenn Sie wissen möchten, ob es eine andere Möglichkeit gibt, es zu tun, ohne 'CBPeripheralManager' zu benutzen, aber vielleicht mit' CBPeripheral' – Snoobie

Antwort

0

var btManager = CBPeripheralManager (Delegierter: selbst, Warteschlange: null, Optionen: 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") 
    } 
} 
+0

Ich mache schon mit dieser Methode, aber mein Problem ist es auf eine andere Weise zu tun – Snoobie

Verwandte Themen