可能重复:
在Android上使用蓝牙的服务发现失败异常
好吧,过去两三天我一直在阅读很多话题,似乎没有人问过这个问题.
我正在为我的andriod设备编写PC端服务器,这是用于交换一些信息和一般调试.最终我将连接到SPP设备来控制微控制器.
我已经管理,使用以下(Android到PC)连接到rfcomm通道11并在我的Android设备和我的电脑之间交换数据.
方法m = device.getClass().getMethod("createRfcommSocket",new Class [] {int.class}); tmp =(BluetoothSocket)m.invoke(device,Integer.valueOf(11));
我尝试了createRfcommSocketToServiceRecord(UUID)方法,绝对没有运气.
对于PC端,我一直在使用C Bluez堆栈用于linux.我有以下代码注册服务并打开服务器套接字:
int main(int argc, char **argv)
{
struct sockaddr_rc loc_addr = { 0 }, rem_addr = { 0 };
char buf[1024] = { 0 };
char str[1024] = { 0 };
int s, client, bytes_read;
sdp_session_t *session;
socklen_t opt = sizeof(rem_addr);
session = register_service();
s = socket(AF_BLUETOOTH, SOCK_STREAM, BTPROTO_RFCOMM);
loc_addr.rc_family = AF_BLUETOOTH;
loc_addr.rc_bdaddr = *BDADDR_ANY;
loc_addr.rc_channel = (uint8_t) 11;
bind(s, (struct sockaddr *)&loc_addr, sizeof(loc_addr));
listen(s, …Run Code Online (Sandbox Code Playgroud)