我正在制作一个与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秒,然后应用再次激活 .