我正在制作一个与BLE设备连接的Android应用程序 . 我几乎完成了我的APP,这是最后一个BUG .

当我连接新设备,它要求我输入PIN时,如果我输入错误,它就会冻结 . 我已经查看了其他与蓝牙配合使用的Android应用程序,但它们似乎也没有解决这个问题 .

例如Zentri - BLE Commander,它只有一个弹出窗口,表示你必须使用Android设置进行配对 .

另一个:谷歌示例应用程序(https://github.com/googlesamples/android-BluetoothLeGatt),它没有弹出任何东西,就像什么都没发生一样 .

那么甚至可以检测到用户输入了错误的配对PIN码吗?如果是的话,请帮帮我 .

编辑:感谢迈克尔 . 我解决了我之前遇到的问题 .

int state =(bluetoothDevice.getBondState());
while (state == 11) {
    // 11 = BOND_BONDING
    // Stay's here while it tries to bond.
    state = bluetoothDevice.getBondState();
}
if(state == 10) {
    // 10 = BOND_NONE
    // If it failed to bond
}
if(state == 12) {
    // 12 = BOND_BONDED
    // If it bonded
}

它运作良好 . 当用户点击屏幕时,它会进入后台,我的应用程序仍在等待状态改变 . 用户必须等待大约20秒,然后应用再次激活 .