Domanda

L'applicazione Bluetooth Explorer dagli strumenti di sviluppo (/ Developer / Applications / Utilities / Bluetooth /) permette di disattivare Simple Pairing sul dispositivo. (Eseguire l'applicazione, selezionare la voce di menu: "Utilità> Get Local Device Info", e fare clic sulla scheda "Simple Pairing").

Come sarebbe un'applicazione 3rd-party fare questo?

È stato utile?

Soluzione

Se non ti dispiace utilizzando alcune cose private, si può fare in questo modo:

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");
    }
}
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top