Android蓝牙通信功能开发

发布时间:2011-09-2 阅读量:8305 来源: 我爱方案网 作者:

 
中心议题:
        * Android 上的 Bluetooth 的开发

1. 概述

Bluetooth 是几乎现在每部手机标准配备的功能,多用于耳机 mic 等设备与手机的连接,除此之外,还可以多部手机之间建立 bluetooth 通信,本文就通过 SDK 中带的一个聊天室的例程,来介绍一下 Android 上的 Bluetooth 的开发。

在 Android1.x 的时候,相关 API 非常不完善,还不能简单的使用 Bluetooth 开发,有一个开源项目可以帮助程序员使用、开发蓝牙,支持直接方法 bluetooth 协议栈。在 Android2 以后,框架提供了一些官方 API 来进行蓝牙的通信,但目前的程序也比较不完善。本文主要讨论 Android2 后的 Bluetooth 通信的 API 使用方法。

首先看聊天室的效果图:

Android上蓝牙通信功能开发:BluetoothChat例程分析

2. Bluetooth 通信 API 介绍

2.1. Bluetooth 通信过程

  

2.2. Bluetooth API 的主要方法

BluetoothAdapter 类

BluetoothAdapter.getDefaultAdapter() :得到本地默认的 BluetoothAdapter ,若返回为 null 则表示本地不支持蓝牙;

 

isDiscovering() :返回设备是否正在发现周围蓝牙设备;

cancelDiscovery() :取消正在发现远程蓝牙设备的过程;

startDiscovery() :开始发现过程;

getScanMode() :得到本地蓝牙设备的 Scan Mode ;

getBondedDevices() :得到已配对的设备;

isEnabled() :蓝牙功能是否启用。

当发现蓝牙功能未启用时,如下调用设置启用蓝牙:

如果发现当前设备没有打开对外可见模式,则传递 Intent 来调用打开可发现模式,代码如下:

BluetoothDevice 类,此为对应的远程蓝牙 Device

createRfcommSocketToServiceRecord() :创建该 Device 的 socket 。

BluetoothSocket 类

connect() :请求连接蓝牙。

getInputStream() :得到输入流,用于接收远程方信息。

getOutputStream() :得到输出流,发送给远程方的信息。

close() :关闭蓝牙连接。

InputStream 类:

read(byte[]) :以阻塞方式读取输入流。

OutputStream 类:

write(byte[]) :将信息写入该输出流,发送给远程。

 

3. BluetoothChat 例程分析

Google 提供的关于 Bluetooth 开发的例程为 Bluetoothchat ,使用截图可见本文一开始。除去配置及 ui 定义等文件,主程序文件共三个: BluetoothChat.java 、 BluetoothChatService.java 以及 DeviceListActivity.java ,详细功能可见下面的描述。

3.1. 整体调用关系序列图

  

3.2. BluetoothChat.java

例程的主 Activity 。 onCreate() 得到本地 BluetoothAdapter 设备,检查是否支持。 onStart() 中检查是否启用蓝牙,并请求启用,然后

相关资讯
三星HBM3E拿下AMD大单 288GB内存重塑AI算力格局

韩国媒体Business Korea最新披露,全球处理器巨头AMD日前推出的革命性AI芯片MI350系列,已确认搭载三星电子最新研发的12层堆叠HBM3E高带宽内存。这一战略性合作对三星具有里程碑意义,标志着其HBM技术在新一代AI计算平台中获得核心供应商地位。

苹果获智能眼镜模块化专利 液态玻璃技术革新可穿戴设备未来

美国专利商标局近日授权苹果公司一项颠覆性专利(编号:US 11,985,623 B2),揭示了其下一代智能眼镜的模块化设计方向。该技术通过可拆卸式"支撑臂"(Securement Arms)创新结构,解决传统头戴设备舒适性与功能扩展的关键痛点。支撑臂从镜框两侧延伸,采用自适应力学分配系统,将设备重量分散至头部颞区及耳廓区域,有效降低鼻托70%以上压力负荷。

激光二极管驱动存储革命:索尼半导体与西部数据联手拓展HAMR硬盘市场

日本索尼半导体与美国存储巨头西部数据近日宣布达成战略合作,索尼将为西部数据下一代HAMR(热辅助磁记录)硬盘提供核心激光二极管组件。面对数据中心指数级增长的数据存储需求,此次合作标志着高容量硬盘技术产业化进程的关键突破。索尼计划投资50亿日元(约合3200万美元)在泰国工厂新建生产线,预计2026年该部件产能将实现翻倍增长。

TP-Link芯片业务战略收缩:WiFi 7研发受阻与全球合规挑战

2025年6月12日,TP-Link外销主体联洲国际(TP-Link Systems)位于上海张江的WiFi芯片部门启动重大裁员,从通知到离职手续仅用半天完成,涉及算法、验证、设计等核心岗位员工,仅保留少数成员。公司提供N+3的高额补偿方案,远高于中国法定的N+1标准,被视为当前裁员潮中的“清流”。行业分析指出,此次调整主要针对WiFi前端模块(FEM) 研发线,而非全面退出芯片领域。FEM作为连接芯片与天线的关键组件,其研发投入缩减与WiFi 7芯片量产进度延迟及成本控制压力直接相关。

DDR4内存现十年罕见价格倒挂,产业链急备货应对停产危机

2025年6月全球存储市场遭遇剧烈波动,DDR4内存现货价格单日暴涨近8%,创下近十年最大单日涨幅。据DRAMeXchange数据显示,截至6月13日,DDR4 8Gb(1G×8)3200颗粒均价飙升至3.775美元,单周涨幅达38.27%,本季度累计涨幅更突破132%。反常的是,DDR4价格竟反超新一代DDR5,形成罕见“价格倒挂”现象,业界直呼“十年未遇”。