private void connectToServerSocket(BluetoothDevice device, UUID uuid) {
try {
BluetoothSocket clientSocket = device
.createRfcommSocketToServiceRecord(uuid);
transferSocket = clientSocket;
// Block until server connection accepted.
clientSocket.connect();
runOnUiThread(new Runnable() {
@Override
public void run() {
// TODO Auto-generated method stub
Toast.makeText(MainActivity.this, "连接成功", Toast.LENGTH_LONG)
.show();
}
});
// Start listening for messages.
listenForMessages(clientSocket, incoming);
// Add a reference to the socket used to send messages.
} catch (IOException e) {
Log.e("BLUETOOTH", "Blueooth client I/O Exception", e);
}
}
private void sendMessage(BluetoothSocket socket, String message) {
OutputStream outStream;
try {
outStream = socket.getOutputStream();
// Add a stop character.
byte[] byteArray = (message + " ").getBytes();
byteArray[byteArray.length - 1] = 0;
outStream.write(byteArray);
} catch (IOException e) {
}
}
private boolean listening = false;
private void listenForMessages(BluetoothSocket socket,
final StringBuilder incoming) {
listening = true;
int bufferSize = 1024;
byte[] buffer = new byte[bufferSize];
try {
InputStream instream = socket.getInputStream();
int bytesRead = -1;
while (listening) {
bytesRead = instream.read(buffer);
if (bytesRead != -1) {
String result = "";
while ((bytesRead == bufferSize)
&& (buffer[bufferSize - 1] != 0)) {
result = result + new String(buffer, 0, bytesRead - 1);
Android手机之间的蓝牙通信的代码和原理
最新推荐文章于 2025-10-23 14:22:50 发布

最低0.47元/天 解锁文章
5720

被折叠的 条评论
为什么被折叠?



