Android蓝牙配对。如何检测我从我的APP输入了错误的PIN?

时间:2016-03-15 13:13:38

标签: android bluetooth bluetooth-lowenergy

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

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

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

另一个:谷歌示例应用程序(https://github.com/googlesamples/android-BluetoothLeGatt),它并没有像我的那样冻结,但它没有弹出任何东西,就像没有发生任何事情一样。

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

编辑: 感谢Michael。我解决了我之前遇到的问题。

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秒,然后应用再次激活。

0 个答案:

没有答案