2

我正在阅读这个 http://developer.android.com/guide/topics/wireless/bluetooth.html#QueryingPairedDevices

这是关于如何配对,连接到蓝牙设备的帮助。

我有几个 BT 设备始终处于非发现模式的情况。我知道这些设备的 MAC 和 PIN。Android Dev 中是否有办法手动将设备添加到 PAIRED 列表中,这样我就可以将连接用作客户端。我了解此手册是为 V3 编写的。我想我需要在 2.0 上执行此操作;2.1-以前有人做过吗?

基本上,我想连接的这些设备是节电模块,我使用预建的 BT 模块来监测日光、另一个湿度等。每 3 小时或在中断时,单个电池运行数月。因此,关闭服务器上的 divcory 可以节省大量电量并防止其他人尝试连接并浪费电池。

4

1 回答 1

4

不确定“手动”是什么意思:您是指 GUI/用户交互中的“手动”,还是“我在自己的应用程序代码中执行”?

不过一些建议:

如果您可以让您的 BT 设备完全可被发现,您可以这样做:

  1. 让您的 BT 设备可被发现
  2. 让Android搜索并找到设备然后发起连接
  3. Android 将要求输入 PIN 码以与设备配对;输入密码。
  4. 配对成功后,Android 会存储配对信息以备将来使用,以便您可以
  5. 让您的 BT 设备再次隐形。

从那时起,您的应用程序应该能够随时连接到 BT 设备,而无需进一步的配对操作。

如果说这不是您的选择,也许您想换一种方式:

在当前的 Android 版本中,实现了不同的 API 例程,这些例程既没有记录也没有在普通 SDK 中公开。一种 hack 类型的解决方案可能是通过反射或通过修改您的 SDK 安装来使用其中一些“隐藏”(“@hide”...)API。

但请注意,这始终是一种黑客攻击,它可能在具有特定 Android 版本的特定设备上运行,并且可能会在另一台设备和/或任何其他 Android 版本上破坏您的应用程序。

话虽如此,这里有一些参考:

如何访问“隐藏”蓝牙 API 的示例

然后,查看 android.bluetooth.BluetoothDevice 的源代码,例如这里

在那里,public boolean createBond(){...}可以为所欲为。

于 2011-10-26T21:51:41.833 回答