Android Connecter l'appareil Bluetooth automatiquement après l'appariement par programmation

Dans mon application j'ai besoin d'appairage périphérique bluetooth et immédiatement se connecter avec elle.

J'ai la fonction suivante dans l'ordre de liaison des périphériques:

public boolean createBond(BluetoothDevice btDevice)
{
    try {
        Log.d("pairDevice()", "Start Pairing...");
        Method m = btDevice.getClass().getMethod("createBond", (Class[]) null);
        Boolean returnValue = (Boolean) m.invoke(btDevice, (Object[]) null);
        Log.d("pairDevice()", "Pairing finished.");
        return returnValue;

    } catch (Exception e) {
        Log.e("pairDevice()", e.getMessage());
    }
    return false;
}

Et je l'utilise comme la façon suivante:

Boolean isBonded = false;
try {
    isBonded = createBond(bdDevice);
    if(isBonded)
    {
         //Connect with device
    }
}

Et il me montre la boîte de dialogue pour le couplage de dispositifs et d'entrer le code pin.

Le problème est que createBond renvoient toujours vrai, et il doen attendre jusqu'à ce que j'ai entrer le code pin et relié à l'appareil, donc je ne l'utilise pas correctement:

isBonded = createBond(bdDevice);
if(isBonded) {...}

La question est donc Comment puis je l'ai couplé avec l'appareil et quand il est jumelé connecter?

P. D Mon code est basé dans la première réponse de la fil de discussion suivant: Android + Paire de périphériques via bluetooth par programmation

OriginalL'auteur RdlP | 2014-02-14