1

ユーザーの操作なしでプログラムで BluetoothDevice をペアリングしたい。そこでsetPin()setPasskey()メソッドを試してみましたが、どちらのメソッドも常に false を返しました。この問題については、ここから助けを借りました。

私が使用したコード:

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 とペアリングする別の方法はありますか?

4

0 に答える 0