Ho bisogno di fare un'app che sarà in grado di dire se sono attualmente connesso a un dispositivo Bluetooth classico o meno (in realtà, sarà un Bluetooth dispositivo per auto).Ottieni l'elenco dei dispositivi bluetooth classici collegati (no BLE) [EAAccessoryManager]
Il mio primo passo è quello di dire quali sono i dispositivi Bluetooth classici connessi attualmente. Non posso usare CoreBluetooth perché è solo per LE. Cerco di utilizzare il framework Accessorio esterno.
Ecco il codice (un pulsante avvia il metodo):
- (IBAction)startMethodGetConnected:(id)sender {
NSLog(@"button taped");
// Get the number of accessories connected
NSUInteger NumberOfAccessoriesConnected = [[EAAccessoryManager sharedAccessoryManager].connectedAccessories count];
//Display the number
NSLog(@"number of accessories connected : %d", NumberOfAccessoriesConnected);
}
ho provato quando l'iPhone è stato collegato ad una tastiera Bluetooth e anche con un auricolare Bluetooth. In entrambi i casi, la console mostra che il numero è 0.
Come visualizzare il numero corretto?
Sembra che i dispositivi Bluetooth come la tastiera "normale" e la cuffia "normale" non siano elencati in EAAcessoryManager. – Larme
Sì, penso che sia perché il dispositivo deve essere MFI, il che potrebbe non essere il caso dei dispositivi Bluetooth "normali". La soluzione che ho trovato era usare [[AVAudioSession sharedInstance] availableInputs] per ottenere l'input Bluetooth, tuttavia, con questa soluzione, non posso ricevere le notifiche mentre sono in background (dovrei ascoltare la musica per poter ricevere la notifica). – augustin