Mac OS X / Bluetooth: programaticamente desativar simples emparelhamento?
-
19-09-2019 - |
Pergunta
O aplicativo Bluetooth Explorer a partir das ferramentas de desenvolvimento (/ Developer / Applications / Utilities / Bluetooth /) permite desligar emparelhamento simples no seu dispositivo. (Execute o aplicativo, selecione o item de menu: "Utilitários> Obter dispositivo local Info", e clique na guia "emparelhamento Simples").
Como uma aplicação 3-parte faria isso?
Solução
Se você não se importa com algumas coisas privada, você pode fazê-lo como este:
typedef void* BluetoothHCIRequest;
OSStatus BluetoothHCIRequestCreate(BluetoothHCIRequest* outHandle, int timeOut, void* unknownOut, int alwaysZero);
void BluetoothHCIRequestDelete(BluetoothHCIRequest hciRequest);
OSStatus BluetoothHCIWriteSimplePairingMode(BluetoothHCIRequest hciRequest, BOOL onOff);
#define HCI_TIMEOUT (3000)
void SetSimplePairing(BOOL on)
{
BluetoothHCIRequest hciRequest = nil;
if ( BluetoothHCIRequestCreate(&hciRequest, HCI_TIMEOUT, nil, 0) == noErr && hciRequest )
{
OSStatus err = BluetoothHCIWriteSimplePairingMode(hciRequest, on);
if (err)
{
NSLog(@"BluetoothHCIWriteSimplePairingMode: %d", err);
}
BluetoothHCIRequestDelete(hciRequest);
}
else
{
NSLog(@"BluetoothHCIRequestCreate failed");
}
}
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow