现在的位置: 首页 > 综合 > 正文

Android 蓝牙 java.io.IOException: Connection refused 异常

2013年10月19日 ⁄ 综合 ⁄ 共 761字 ⁄ 字号 评论关闭

          做的一个Android程序,需要调用手机上的BlueTooth与一个蓝牙模块连接,以接受北斗模块的数据并解析。

       本来在一个开发手机HTC Desire HD A9191(Android 2.3.5)上可以连接成功,并且可以接收到数据,软件没有问题但是在自己的手机Lenovo
S899t(Android 4.0.3)却一直连接不成功,查看
Error 报错提示如下:

 java.io.IOException: Connection refused,后来在网上查看到原因:

      sdk 2.3以上的用createRfcommSocketToServiceRecord方法连接不上,须采createInsecureRfcommSocketToServiceRecord方法(此方法需sdk2.3以上才有)。故需要将程序的SDK版本改至2.3以上。

      代码改之后:

UUID uuid = UUID.fromString("00001101-0000-1000-8000-00805F9B34FB");
int sdk = Integer.parseInt(Build.VERSION.SDK);
if(sdk >= 10){
	//sdk 2.3以上需要用此方法连接,否则连接不上,会报 java.io.IOException: Connection refused 异常
	socket = device.createInsecureRfcommSocketToServiceRecord(uuid);
}else {
	socket = device.createRfcommSocketToServiceRecord(uuid);
}

参考:http://blog.csdn.net/zshq280017423/article/details/7645622

抱歉!评论已关闭.