O emparelhamento Bluetooth com o Nrf UART não está funcionando corretamente

O emparelhamento Bluetooth não está funcionando corretamente. Estou desenvolvendo o aplicativo com base no emparelhamento Bluetooth com o UART. Aqui incluí o meu conceito e o Programa. Ajude-me a resolver o problema.

Meu resultado esperado é Se o usuário pressionar o botão Conectar. Ele deve ser emparelhado sem a entrada do usuário e a tela de confirmação para solicitação de par e PIN. Finalmente, o dispositivo responde novamente ao Connected.

Meu resultado real é A tela de confirmação e o pop-up de entrada do usuário serão abertos. Depois que o dispositivo estiver emparelhado. Finalmente, o dispositivo não responde novamente a Estou conectado.

Estou preso nesse problema mais de 2 dias. Ajude-me a sair deste problema.

1. Registre o método PAIRING no método onstart ()

          IntentFilter filter = new IntentFilter(BluetoothDevice.ACTION_PAIRING_REQUEST);
         this.registerReceiver(mPairingRequestReceiver, filter);

2. BroadcastReceiver para Receive the PairingRequest.

  private BroadcastReceiver mPairingRequestReceiver = new BroadcastReceiver() {
    public void onReceive(Context context, Intent intent) {
        String action = intent.getAction();
        if (action.equals(BluetoothDevice.ACTION_PAIRING_REQUEST)) {
            try {
                BluetoothDevice device = intent.getParcelableExtra(BluetoothDevice.EXTRA_DEVICE);
                int pin = intent.getIntExtra("android.bluetooth.device.extra.PAIRING_KEY", 123456);
                //the pin in case you need to accept for an specific pin
                byte[] pinBytes;
                pinBytes = ("" + pin).getBytes("UTF-8");
                device.setPin(pinBytes);


        } catch (Exception e) {
                Log.e(TAG, "Error occurs when trying to auto pair");
                e.printStackTrace();
            }
        }
    }
};

/ * Após a conexão dos dispositivos, estou criando o Bond * /

     @Override
     public void onDeviceConnected(BluetoothDevice device) {

        device.createBond();

      }

questionAnswers(1)

yourAnswerToTheQuestion