【问题标题】:Bluetooth connection using bluetooth MAC and PIN from code only仅使用代码中的蓝牙 MAC 和 PIN 进行蓝牙连接
【发布时间】:2014-07-20 21:59:19
【问题描述】:

我正在做一个应用程序来配置/控制使用蓝牙的电池供电设备。 这些设备不“可见”以节省能源。

我有一个大约 50 台设备的现成列表。该列表包含蓝牙 MAC 地址和配对所需的 PIN。

当APP启动时,我提示用户从列表中选择一个设备。 所以现在我想自动与设备绑定,如果还没有完成,而不需要用户再次输入 PIN。

我用谷歌搜索了很多,但没有完全找到我要找的东西(至少我理解的)。 但我不得不承认,我对 android 编程很陌生,可能根本没有得到提示- 我还假设我没有使用正确的术语进行搜索。 我发现了一些简单地抑制 PIN 输入的“黑客”。

有人可以帮我吗?

如果我手动绑定设备,我的APP已经运行起来了,所以SPP通信不是问题,主要是如何提供PIN进行连接。

非常感谢。

【问题讨论】:

  • 你好。你的问题解决了吗?我遇到了类似的问题。
  • 对不起,没有。我目前决定跳过这部分,稍后在找到解决方案时进行研究。

标签: android bluetooth


【解决方案1】:

您可以通过调用 BluetoothDevice setPin(byte[] pin)createBond() 方法与蓝牙设备创建新的绑定。您还需要设置 BLUETOOTH_ADMIN 权限。

public boolean createBond ()

public boolean setPin (byte[] pin)

【讨论】:

  • 我找到了 setPin() 和 createBond()。我还是有点失落。我做了 createBond() 然后必须做一个 BroadcastReceiver 来获得 Intent for ???然后调用 setPin() 至少,这是我理解的。但是我没有找到一个好的答案,我必须等待什么意图。我认为“ACTION_BOND_STATE_CHANGED”是对的,但不确定。没有很好的分步说明吗?
猜你喜欢
  • 2015-09-14
  • 1970-01-01
  • 2014-10-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-03-12
相关资源
最近更新 更多