Android实现蓝牙远程连接遇到的问题

主要问到的问题:1.uuid获取不到,一直为空,后来发现android4.2之前使用uuid这种方法,目前尽量不使用uuid方式

                          2.socket.connect()出错,报read failed, socket might closed or timeout, read ret: -1;这个错,解觉方法就是另开一个子线程  专门执行socket.connect()方法

源码:

复制代码
package com.example.testopencv.client;

import android.bluetooth.BluetoothDevice;
import android.bluetooth.BluetoothSocket;
import android.content.Context;
import android.content.Intent;
import android.os.ParcelUuid;
import android.util.Log;

import java.io.IOException;
import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;
import java.util.Arrays;
import java.util.UUID;

public class ConnThread extends Thread {

    private BluetoothDevice device;
    private BluetoothSocket socket;
    private Context mContext;
    public ConnThread(BluetoothDevice device) {
        this.device = device;
        System.out.println(device.getBluetoothClass()+"这里要连接");
       // UUID uuid = device.getUuids()[0].getUuid();
        //System.out.println(uuid+"这是uuid");

        try {
            socket = device.createRfcommSocketToServiceRecord(UUID.fromString("00001101-0000-1000-8000-00805F9B34FB"));
        } catch (IOException e) {
            e.printStackTrace();
        }
    }

    @Override
    public void run() {
        try {
            //java.io.IOException: Service discovery failed
            // 连接蓝牙服务端
            socket.connect();
            // 发送内容
            socket.getOutputStream().write(new String("Hello").getBytes());
        } catch (IOException e) {
            e.printStackTrace();
        } finally {
            try {
                socket.close();
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
    }

}
复制代码

效果:

 

 

 

参考文章:蓝牙通信的坑,read failed, socket might closed or timeout, read ret: -1_bobo丶仔_新浪博客 (sina.com.cn)

posted @   睡觉不困  阅读(1346)  评论(0编辑  收藏  举报
编辑推荐:
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
阅读排行:
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
点击右上角即可分享
微信分享提示