我如何实际绑定设备?

Jui*_*iCe 12 android bluetooth device

无论我到哪里,我都会为我的蓝牙适配器找到这个方法"getBondedDevices()".但是,我有我的平板电脑和另一个蓝牙设备坐在我旁边,我无法弄清楚如何让设备显示在绑定设备列表上.

Dev*_*red 22

在蓝牙术语中,"绑定"和"配对"基本上是同义词(正式地,配对过程导致绑定,但大多数人使用它们可互换).为了将您的设备添加到该列表,您必须完成Discovery的过程,这是一个设备搜索并找到另一个设备的方式,然后将两者配对.

实际上,您可以从设备设置中以用户身份执行此操作,但如果您希望在应用程序的上下文中这样做,则您的过程可能如下所示:

  1. 注册一个BroadcastReceiverfor BluetoothDevice.ACTION_FOUNDBluetoothAdapter. ACTION_DISCOVERY_FINISHED
  2. 通过呼叫开始发现 BluetoothAdapter.startDiscovery()
  3. 每次在范围内找到新设备时,您的接收器将通过第一个动作被调用,您可以检查它以查看它是否是您想要连接的设备.BluetoothAdapter.cancelDiscovery()一旦你发现它不会浪费电池,你可以打电话.
  4. 发现完成后,如果您没有取消它,您的接收器将通过第二个动作被调用; 所以你知道不要再期待任何设备.
  5. 手持设备实例,打开BluetoothSocketconnect().如果设备尚未绑定,则会启动配对,并可能显示PIN码的某些系统UI.
  6. 配对后,您的设备将显示在绑定设备列表中,直到用户进入设置并将其删除.
  7. connect()方法实际上也打开了套接字链接,当它返回时没有抛出异常,两个设备连接在一起.
  8. 现在连接,您可以打电话getInputStream()getOutputStream()从套接字读取和写入数据.

基本上,您可以检查绑定设备列表以快速访问外部设备,但在大多数应用程序中,您将结合使用此实际发现以确保无论用户是什么,都可以始终连接到远程设备确实.如果设备已经绑定,您只需执行步骤5-7即可进行连接和通信.

有关更多信息和示例代码,请查看Android SDK蓝牙指南的"发现设备"和"连接设备"部分.

HTH