android蓝牙配对与连接,Android蓝牙接受()/连接()与已配对的设备

我无法通过蓝牙连接两个Android设备,只有在配对之前才会发生此问题。我运行一个作为服务器,另一个作为客户端。Android蓝牙接受()/连接()与已配对的设备

这里的东西在服务器端的顺序:

检查各种蓝牙状态(可用适配器,启用等)。

用我选择的预定义的UUID调用listenUsingRfcommWithServiceRecord()。

请求使设备可发现

由于可发现异步发生,我调用accept()并等待传入​​连接。

在客户端:

检查各种蓝牙状态(适配器可用,启用等)。

getBondedDevices()中的每个设备,我将getName()与服务器名称进行比较。如果匹配,请跳到步骤6.

开始BT发现

对于每个发现的设备(请注意2a的配对设备不会在此显示),请将设备名称与服务器名称进行比较。如果存在匹配,则转到步骤6。

取消发现

在那个从步骤2中找到的装置,呼叫createRfcommSocketToServiceRecord()与已在服务器侧使用的相同的预先定义的UUID。

调用connect()并等待它返回连接的套接字。

当客户端和服务器之前从未配对时,上述过程对我来说工作得非常好。但是,在Android注册到设备列表中后,它们将不可避免地在connect()/ accept()阶段超时。

反射方法不为我工作的。看起来connect()会立即返回,但是当我尝试getOutputStream()时,我得到一个异常。在accept()方面,它甚至不记录有人试图连接。我认真需要一些帮助或指示让设备建立连接,一旦他们以前配对。

下面是有关设备的一些信息:

我测试服务器和客户端上的两个LG G2X手机。

他们都在Android 2.3.3上运行,这对应于API级别10.

同样,上述工作在我在设置中手动解除设备配对后运行。

谢谢你提前。我大约在2周内使用Android和蓝牙,因此如果您看到任何缺少的步骤或最佳做法,请将它们指出。

2012-02-14

o.c.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值