Android实现蓝牙远程连接遇到的问题
2024-08-30 04:44:22
主要问到的问题: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)
最新文章
- 告别被拒,如何提升iOS审核通过率(上篇)
- vs2013 无法打开 源 文件 ";SDKDDKVer.h";
- VS2013 添加已有文件夹
- 代理模式 vs 装饰模式
- Web程序员开发App系列 - 认识HBuilder
- 【Python】网络编程
- CSS3技巧:利用css3径向渐变做一张优惠券(转)
- php中的作用域
- mysql的分区技术(建立分区)
- 【Java重构系列】重构31式之封装集合
- ubuntu 源码安装 swig
- Qt中的对象类型转换(Qstring 转换char*有三种方法)
- UVALive 6584 Escape (Regionals 2013 >;>; Europe - Central)
- sharepoint 2013 更改用户配置文件属性值的方法 modify user profile
- 如何让你的web具备权限认证
- 第七章——集成学习和随机森林(Ensemble Learning and Random Forests)
- ORACLE 快速启动监听及相关服务程序
- CustomScrollView + slivers + SliverAppBar
- ASP.NET Core Swagger 显示接口注释
- 如何查看mysql数据库表所使用的引擎(转载)
热门文章
- LeetCode-043-字符串相乘
- Mysql引擎、隔离机制、存储结构、索引
- php简易表单及下拉框动态渲染
- 微信小程序节流使用方法
- 2022年官网下安装MongoDB最全版与官网查阅方法(5.0.6)
- itertools.chain()and itertools.product()操作+pandas.DataFrame.transform
- CentOS 5.11源修改
- 【基础】tail命令查看日志
- docker-compose.yml 版本问题
- 一致性 hash 环