BluetoothDevice的SetPin方法总是返回false

时间:2013-10-10 05:27:03

标签: android bluetooth

我希望在没有用户交互的情况下以编程方式配对BluetoothDevice。所以我尝试了 setPin() setPasskey()方法,但两种方法总是返回false。对于这个问题,我从here获得了帮助。

我使用的代码:

private void PairDevice(BluetoothDevice pDevice, String pin)
{
    try
    {   
        Log.d("pairDevice()", "Start Pairing...");

        Method pairMethod = pDevice.getClass().getMethod("setPin", new Class[] {byte[].class});
        Boolean lReturn = (Boolean) pairMethod.invoke(pDevice, pin.getBytes("UTF8"));
        Log.e("pairDevice",""+lReturn);

        if(lReturn.booleanValue())
        {
            Log.d("pairDevice()", "Pairing Finished...");

            Method bondMethod = pDevice.getClass().getMethod("createBond");
            bondMethod.invoke(pDevice);
            Log.d("pairDevice()", "createBond Finished...");
        }           
    }
    catch(Exception ex)
    {
        Log.e("pairDevice()", ex.getMessage());
    }
} 

我做错了什么?有没有其他方式与BluetoothDevice配对而无需用户交互?

0 个答案:

没有答案