android蓝牙通讯Socket.connect()方法调用不成功。为什么?
Socket.connect()方法调用后,程序会阻塞等待服务端回应。但是我在两台已经配对的手机上运行,程序没有问题,但程序还是跳到Exception里。connect不...
Socket.connect()方法调用后,程序会阻塞等待服务端回应。但是我在两台已经配对的手机上运行,程序没有问题,但程序还是跳到Exception里。connect不成功。我测试很长一段时间,在有的手机上成功了可以通讯,有的手机则不行。为什么?是不是蓝牙要设置什么才能发数据?怎样设置?
展开
2个回答
展开全部
UUID值出现错误。
看一下android有关bluetooth的API,用于普通蓝牙适配器和android手机蓝牙模块连接的,而且这个UUID的值必须是00001101-0000-1000-8000-00805F9B34FB。
这个是android的API上面说明的.connect().在连接的时候,android手机作client(主动和电脑建立连接),如果电脑作为server(一直监听是否有服务连接),则需要在手机端调用这样一行代码.两边的UUID必须是一样的,这是一个服务的唯一标识。
展开全部
1.两边的UUID必须是一样的,这是一个服务的唯一标识,而且这个UUID的值必须是
00001101-0000-1000-8000-00805F9B34FB。为什么呢?因为这个是android的API上面说明的,用于普通蓝牙适配器和android手机蓝牙模块连接的,请大家自己看一下android有关bluetooth的API。
2.在连接的时候,如果电脑作为server(一直监听是否有服务连接),android手机作为client(主动和电脑建立连接),则需要在手机端调用这样一行代码:mmSocket.connect();
00001101-0000-1000-8000-00805F9B34FB。为什么呢?因为这个是android的API上面说明的,用于普通蓝牙适配器和android手机蓝牙模块连接的,请大家自己看一下android有关bluetooth的API。
2.在连接的时候,如果电脑作为server(一直监听是否有服务连接),android手机作为client(主动和电脑建立连接),则需要在手机端调用这样一行代码:mmSocket.connect();
追问
这些我都注意到了,但是还是有问题。有时可以传送数据,有时又不可以传送数据。
mmSocket.connect();调用时,服务端没有正常反应,端口建立失败,怎么办?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询