android蓝牙配对自动连接传输数据,Android蓝牙编程经验总结——同时传输数据和音频...

写给自己的总结,不是教学文章,仅供参考。

先是蓝牙编程基础,参考之前写的这篇:

http://blog.csdn.net/xzongyuan/article/details/39319691

这篇主要总结BluetoothSocket的编程经验,因为在这块花了好几天去调试。

首先,Android的Setting app会自动连接已经Pair过的蓝牙。但是它连的只是之前连接过的协议。而且,如果你关了蓝牙,却没关APP,会出现很多奇怪现象。例如:通过Socket端口的OutputStream写数据,时会报错,写不入。原因如下:

/*如果出现写入错误,那肯定是写入了先前没有关闭的Socket。

*  这种情况出现在:

*关闭了蓝牙,但是APP还开着,这时Socket处于disConnect状态,但Socket及其对应的OutputStream都不为null。

*所以当你再次点击按钮,就会显示写入错误。这时,外围蓝牙设备状态是怎样的?当你关闭蓝牙,外围设备的Socket已经重设为null,

*没有对应先前的Socket了,即使你再次开蓝牙,系统自动连接,也只是连接了音频,而SPP还是需要重连的。

*重连的办法就是先close现在拥有的Scoket,然后自动重连。这时因为音频socket已经自动连上了,ConnectThread中

*连接A2DP的部分就不会有什么影响,只会完成新socket的连接。

*/

这样一个小问题,直接影响了App的人性化设计。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值