Android studio中的蓝牙连接
我正在尝试在android studio上开发两个应用程序,每个应用程序运行在不同的android设备上。我想用蓝牙在这两者之间交换数据。我遵循了Android开发者文档,做了以下工作:搜索设备,建立RFCOMM通道,连接两台设备。但是,我看不到发送或接收的数据。一个应用程序是启动连接的客户端,另一个应用程序是客户端和服务器端。一旦连接,我将使用处理程序从流中写入/读取。下面是处理程序代码。对于Android studio中的蓝牙连接,android,bluetooth,Android,Bluetooth,我正在尝试在android studio上开发两个应用程序,每个应用程序运行在不同的android设备上。我想用蓝牙在这两者之间交换数据。我遵循了Android开发者文档,做了以下工作:搜索设备,建立RFCOMM通道,连接两台设备。但是,我看不到发送或接收的数据。一个应用程序是启动连接的客户端,另一个应用程序是客户端和服务器端。一旦连接,我将使用处理程序从流中写入/读取。下面是处理程序代码。对于connectedThread和ConnectThread,我使用了与Android开发人员示例相同的
connectedThread
和ConnectThread
,我使用了与Android开发人员示例相同的方法。但是,我不确定何时调用read()
和write()
方法,以及两个连接的设备之间交换的消息通常存储在哪里
Handler mhandler = new Handler(){
@Override
public void handleMessage(Message msg){
super.handleMessage(msg);
Log.i(tag, "in handler");
String s = myapplication.getMessage();
ConnectedThread connectedThread = new ConnectedThread((BluetoothSocket)msg.obj);
connectedThread.run();
switch (msg.what){
case SUCCESS_CONNECT:
//ConnectedThread connectedThread = new ConnectedThread((BluetoothSocket)msg.obj);
Toast.makeText(getApplicationContext(), "CONNECT", Toast.LENGTH_LONG).show();
break;
case MESSAGE_WRITE:
connectedThread.write(s.getBytes());
break;
case MESSAGE_READ:
byte[] readbuf = (byte[])msg.obj;
String string = new String(readbuf);
Toast.makeText(getApplicationContext(), string, Toast.LENGTH_LONG).show();
break;
}
}
};
请使用代码标签将代码的相关部分粘贴到问题中。从最小的工作示例开始。@KLibby谢谢。我正在发帖。希望您能提供帮助。请使用代码标签将代码的相关部分粘贴到问题中。从最小的工作示例开始。@KLibby谢谢。我正在发帖。希望你能帮忙。