android - 对蓝牙配对对话输入的 react

标签 android bluetooth

我正在开发一个应用程序,通过蓝牙将 android 设备与另一个设备(CAN 模块)连接起来。

我像这样配对以前未配对的设备:

Method m = device.getClass().getMethod("createBond", (Class[]) null);
m.invoke(device, (Object[]) null);

这就像一个魅力。

不过有个问题。 CAN 模块的设置方式使您不需要管脚或任何其他形式的配对确认,您只需说您想与设备配对,它就会这样做。现在,如果我的应用程序尝试连接到不是 CAN 模块的蓝牙设备(例如手机),会发生什么情况?

在这种情况下,会出现一个对话框,要求用户确认配对。我不介意对话框,但我想以某种方式对“取消”按钮使用react。

总结一下: 当用户在蓝牙配对确认对话框中按下 Cancel 时,我想调用方法 doSomething() 。这可能吗?

最佳答案

你应该听ACTION_BOND_STATE_CHANGED Intent(我希望你知道如何注册 BroadcastReceiver 并使用它们)。

以上由系统(BluetoothService)广播的 Action 还包含Current Bond StatePrevious Bond State

邦德有三种状态。

BOND_BONDED 表示远程设备已绑定(bind)(已配对)。

BOND_BONDING 表示正在与远程设备绑定(bind)(配对)。

BOND_NONE 表示远程设备未绑定(bind)(配对)。

在您的情况下,如果密码对话框上有取消按钮,您将收到 BOND_BONDING >> BOND_NONE,如果密码对话框上有配对按钮,您将收到 BOND_BONDING >> BOND_BONDED

关于android - 对蓝牙配对对话输入的 react ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28669348/

相关文章:

android - 在 Twitter 上上传视频

安卓蓝牙扩展查询响应

ios - 核心蓝牙状态恢复

Android:来自 Android Box Remote 的按键事件

使用 API key 限制时 Android SafetyNet API 失败

java - 无法在 Android 上使用 AES 密码

android - 在非UI线程android中运行代码

java - Android:BluetoothSocket 连接抛出 IOException

android - 当移动设备在 Android 中使用蓝牙连接时如何连接移动设备详细信息

android - 如何在 Android 中创建不安全的 RFCOMM 套接字?