android添加rs232,蓝牙RFCOMM/SDP连接到一个RS232适配器在android

我试图使用谷歌提供的蓝牙聊天样本API应用程序连接到连接到另一个设备的蓝牙RS232适配器。这是应用程序供参考:

这里是RS232连接器的规格表仅供参考:

那么问题是当我连接到设备时:

mmSocket.connect(); (BluetoothSocket::connect())

我总是收到由connect()方法抛出的IOException错误。当我对异常做一个toString时,我得到“服务发现失败”。我的问题大多是在连接方法中引起IOException的情况?我知道那些在源的某个地方,但我不知道你写的应用程序的java层和包含实际堆栈的C/C++层的确切界面。我知道它使用蓝图蓝牙堆栈,它是用C/C++编写的,但不知道如何将这个连接到java层,这是我认为是抛出异常。任何帮助我指出我可以尝试解剖这个问题将是不可思议的。

还要注意,我可以配对RS232适配器,但我无法实际连接。这是logcat输出的更多参考:

I/ActivityManager( 1018): Displayed activity com.example.android.BluetoothChat/.DeviceListActivity: 326 ms (total 326 ms)

E/BluetoothService.cpp( 1018): stopDiscoveryNative: D-Bus error in StopDiscovery: org.bluez.Error.Failed (Invalid discovery session)

D/BluetoothChat( 1729): onActivityResult -1

D/BluetoothChatService( 1729): connect to: 00:06:66:03:0C:51

D/BluetoothChatService( 1729): setState() STATE_LISTEN -> STATE_CONNECTING

E/BluetoothChat( 1729): + ON RESUME +

I/BluetoothChat( 1729): MESSAGE_STATE_CHANGE: STATE_CONNECTING

I/BluetoothChatService( 1729): BEGIN mConnectThread

E/BluetoothService.cpp( 1018): stopDiscoveryNative: D-Bus error in StopDiscovery: org.bluez.Error.Failed (Invalid discovery session)

E/BluetoothEventLoop.cpp( 1018): event_filter: Received signal org.bluez.Device:PropertyChanged from /org/bluez/1498/hci0/dev_00_06_66_03_0C_51

I/BluetoothChatService( 1729): CONNECTION FAIL TOSTRING: java.io.IOException: Service discovery failed

D/BluetoothChatService( 1729): setState() STATE_CONNECTING -> STATE_LISTEN

D/BluetoothChatService( 1729): start

D/BluetoothChatService( 1729): setState() STATE_LISTEN -> STATE_LISTEN

I/BluetoothChat( 1729): MESSAGE_STATE_CHANGE: STATE_LISTEN

V/BluetoothEventRedirector( 1080): Received android.bleutooth.device.action.UUID

I/NotificationService( 1018): enqueueToast pkg=com.example.android.BluetoothChat callback=android.app.ITransientNotification$Stub$Proxy@446327c8 duration=0

I/BluetoothChat( 1729): MESSAGE_STATE_CHANGE: STATE_LISTEN

E/BluetoothEventLoop.cpp( 1018): event_filter: Received signal org.bluez.Device:PropertyChanged from /org/bluez/1498/hci0/dev_00_06_66_03_0C_51

V/BluetoothEventRedirector( 1080): Received android.bleutooth.device.action.UUID

我要连接的设备是00:06:66:03:0C:51我可以扫描并显然配对好

以下由一个类似的问题合并,这个问题在这里被选中的答案成功解决:

我正试图用BlueSMiRF Gold芯片连接到嵌入式设备。我的工作Python代码(使用PyBluez库),我想移植到Android,如下所示:

sock = bluetooth.BluetoothSocket(proto=bluetooth.RFCOMM)

sock.connect((device_addr, 1))

return sock.makefile()

…所以连接的服务被简单地定义为通道1,没有任何SDP查找。

作为唯一的文档机制,我在Android API中看到,对SDU进行了UUID的查找,我略有亏损。从我的Linux主机使用“sdptool浏览”出来了,所以我猜测这个芯片只是缺乏SDP支持。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值