ユーザーの操作なしでプログラムで 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 とペアリングする別の方法はありますか?