首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Android 蓝牙开发(3)——蓝牙详细介绍

前面的两篇文章,主要是在 Android 官网关于蓝牙介绍基础上加上自己理解完成。主要针对Android 开发一些 API 使用。...第一篇文章 Android 蓝牙开发(1) 主要是介绍了普通蓝牙Android 开发运用。 第二篇文章 Android 蓝牙开发(2) 主要是介绍了低功耗蓝牙开发。...我们 API 调用都是以这个为基础,了解这些,开发过程遇到问题,才可以知道什么怎么一回事。 下篇文章主要讲就是实际开发一些坑。 蓝牙发展历史 蓝牙技术最初是由爱立信创制。...这对于现在穿戴设备以及各种物联网传感器来说是一个很大突破。同时它传输数据就很少。 在 Android 4.3 时候开始支持低功耗蓝牙。仅仅支持中心模式,就是只可以连接其他蓝牙外设。...这层在协议栈是可选,一些小型终端可能没有,但是 Android 设备上肯定有,这层是蓝牙上层和芯片交互必经之路,对于蓝牙硬件开发者,这里 log 能够很好帮助解决问题。

2.1K10
您找到你想要的搜索结果了吗?
是的
没有找到

Android蓝牙开发—经典蓝牙和BLE(低功耗)蓝牙区别

Android蓝牙 说到Android蓝牙,大家听到可能有蓝牙1.0、蓝牙2.0、蓝牙3.0、蓝牙4.0之类以数字结尾蓝牙版本号,而实际上,在最新标准,已经不再使用数字版本号作为蓝牙版本区分了...这里提到低功耗蓝牙也会有很多人会误解为就是蓝牙4.0,但是完整蓝牙4.0规范实际上包括有经典蓝牙和低功耗蓝牙这两个部分,大家看看如下这张分类表就能够明白这其中关系了。...——蓝牙小知识—— 在蓝牙设备,存在着物理地址,我们也叫作蓝牙MAC地址,这个地址是唯一,就像咱们网络上IP地址。同时还存在着一个叫做UUID东西,可以把它理解为是IP地址端口号。...如果使用智能手机作为测试平台,其硬件条件是,蓝牙得至少是低功耗蓝牙版本,然后安卓系统的话,至少得是Android 4.3以上系统才行,因为Google在Android 4.3以上才做了BLE主设备支持...很多智能电视配遥控器带有语音识别,需要用经典蓝牙才能传输声音 传大数据量,用经典蓝牙: 如某些工控场景,使用Android或Linux主控,外挂蓝牙遥控设备,可以使用经典蓝牙SPP协议

4.4K20

Android蓝牙开发(三)之蓝牙通信

上篇文章:https://blog.csdn.net/huangliniqng/article/details/82187966 上篇文章我们讲解了,蓝牙配对和蓝牙连接相关知识,还没有了解朋友可先移步上篇文章...1.蓝牙通信简介   无论是做Java还是Android开发朋友肯定都比较熟悉Socket连接,在java通信用是Socket,同样蓝牙之间通信(这里说是经典蓝牙)方式也是Socket,只不过是...BluetoothSocket,同样也要有Socket服务端和客户端 2.蓝牙通信消息接收端 设备连接后,跳转到通讯界面,首先我们要在通讯界面开启消息接收端服务,同样我们要在一个线程开启 得到bluetooth...inputstream输入流接收即可,同时我们可能接收到是文件,需要将文件保存下来,记得申明相关权限。...通信和javasocket类似就不具体讲解了,需要注意是当这里收到消息或者发送消息成功时,我这里用是Eventbus异步通知 代码如下次: /** * 发送文本消息 * * @param

2K20

Android 蓝牙4.0

3,iPhone手机蓝牙是不能够和android手机蓝牙通信,而且iPhone除了蓝牙4.0以外其他版本蓝牙外设需要通过苹果认证才能使用,除非大厂商大批量生产否则不可能通过认证,当然也可以再加一个认证芯片上去解决...所以很多小公司,解决方案公司做iPhone应用只能做蓝牙4.0android则没有这个限制。...以上内容摘自以下链接 1,谈谈几个月以来开发android蓝牙4.0 BLE低功耗应用感受 Android蓝牙4.0代码 2,有流程图 Android 蓝牙4.0 BLE 理解  4,已下载,知识全面而且易懂...BLE 和经典蓝牙Android编程说明 5,从界面开始代码 Android4.0蓝牙使能详细解析 6,开发实例(有时打不开) android 蓝牙4.0 开发经验分享 7,开发实例 关于android...蓝牙4.0如何接收响应信息 8,开发实例,讲解清晰 android 蓝牙4.0多通道 9,开发实例,血压计 分享Android 蓝牙4.0(ble)开发解决方案 10,非常清晰  Android BLE

1.2K90

Android 蓝牙开发(2)——低功耗蓝牙

低功耗蓝牙官方文档 本文章是参考官网,然后加入自己实践理解完成!没有看上一篇读者,可以先阅读一下前一篇,这是一个系列。...Android 蓝牙开发(1) 官网地址:https://developer.android.com/guide/topics/connectivity/bluetooth-le Android 4.3...目前所有低功耗应用配置文件基本都是基于 GATT Bluetooth SIG (蓝牙技术联盟) 是为低功耗设备定义了许多配置文件。配置文件是设备在特定应用程序工作方式规范。...如果要声明我们应用仅适用于支持 BLE 设备,需要清单文件做如下声明 <uses-feature android:name = "android.hardware.bluetooth_le" android...完成后要记得关闭设备 bluetoothGatt.close(); 关于蓝牙框架一个库:https://github.com/Alex-Jerry/Android-BLE

2.2K10

Android蓝牙通信之搜索蓝牙设备

--允许程序连接到已配对蓝牙设备-- <uses-permission android:name="android.permission.BLUETOOTH" / <!...-- 在SDCard创建与删除文件权限 -- <uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS.../*确保蓝牙被发现,在荣耀8手机上,设置了还是默认2分钟,所以以下几句代码程序没有,*/ Intent discoverableIntent = new Intent(BluetoothAdapter.ACTION_REQUEST_DISCOVERABLE...,如下图,但我想实现是,匹配其中一方,不能手动点击配对,因为发起蓝牙连接设备是android设备,是不能触摸,所以就要通过程序来解决这个问题,特别声明:(测试android设备,版本为5.x,并且已经...,以及动态权限,蓝牙打开,关闭,搜索,以及自动配对(特别声明:(自动配对android设备,版本为5.x,并且已经root,没有root设备,或者不是android5.x不清楚能否实现自动匹配,因为我只有这个测试设备

3K31

Android在app实现蓝牙服务Service案例

Android应用,你可以通过服务(Service)来实现蓝牙数据读取。以下是一个简单示例,演示如何创建一个Android服务以连接到蓝牙设备并读取数据。...在实际应用,你需要确保你应用具备蓝牙权限,并使用合适蓝牙库进行连接和数据读取。....实现蓝牙连接和数据读取逻辑 在BluetoothService类,你可以实现蓝牙连接和数据读取逻辑。...这通常需要使用Android蓝牙API或第三方蓝牙库(如Android Bluetooth SDK或其他开源库)。...中使用服务  在你应用活动(Activity),你可以绑定到这个服务,并调用服务方法来初始化蓝牙连接、启动/停止数据读取和断开蓝牙连接。

66520

Android蓝牙开发(二)之蓝牙配对和蓝牙连接

蓝牙配对 搜索到蓝牙设备后,将设备信息填充到listview,点击listiew则请求配对 蓝牙配对有点击配对和自动配对,点击配对就是我们选择设备两个手机弹出配对确认框,点击确认后配对...(我这里是存在list中所以从list取) 点击之后怎会弹出配对确认框,且必须被配对手机也点击确认配对才可以配对成功如图: 同样,如果我们想要配对设备取消配对 只需要将creatBond改为removeBond...2.蓝牙连接: 配对成功之后,就可以进行蓝牙连接了,蓝牙连接操作比较耗时,可以在一个线程中进行: 调用自己定义 connect(listdevice.get(position)); 同样传递参数也是设备...: 在这里我们需要注意是,当连接成功时,我们要让被连接那部手机也自动跳转到聊天页面,所以我们要开启蓝牙服务端等待设备连接,当设备连接时,自动跳转页面,蓝牙服务端代码如下: /** * 开启服务端...} } catch (IOException e) { e.printStackTrace(); } } } 服务端运行也在一个线程

2.4K20

Android蓝牙开发(二)之蓝牙配对和蓝牙连接

.蓝牙配对    搜索到蓝牙设备后,将设备信息填充到listview,点击listiew则请求配对   蓝牙配对有点击配对和自动配对,点击配对就是我们选择设备两个手机弹出配对确认框,点击确认后配对  ...(我这里是存在list中所以从list取) 点击之后怎会弹出配对确认框,且必须被配对手机也点击确认配对才可以配对成功如图: ?...同样,如果我们想要配对设备取消配对 只需要将creatBond改为removeBond 2.蓝牙连接:   配对成功之后,就可以进行蓝牙连接了,蓝牙连接操作比较耗时,可以在一个线程中进行: 调用自己定义...在这里我们需要注意是,当连接成功时,我们要让被连接那部手机也自动跳转到聊天页面,所以我们要开启蓝牙服务端等待设备连接,当设备连接时,自动跳转页面,蓝牙服务端代码如下: /** * 开启服务端...} } catch (IOException e) { e.printStackTrace(); } } } 服务端运行也在一个线程

4.2K20

iOS蓝牙

iOS蓝牙 概述 iOS中提供了4个框架用于实现蓝牙连接 1.GameKit.framework(用法简单) 只能用于iOS设备之间同个应用内连接,多用于游戏(eg.拳皇,棋牌类),从iOS7开始过期...2.MultipeerConnectivity.framework(代替1) 只能用于iOS设备之间连接,从iOS7开始引入,主要用于非联网状态下,通过wifi或者蓝牙进行文件共享(仅限于沙盒文件...),多用于附近无网聊天 3.ExternalAccessory.framework(MFi) 可用于第三方蓝牙设备交互,但是蓝牙设备必须经过苹果MFi认证(国内很少) 4.CoreBluetooth.framework...(时下热门) 可用于第三方蓝牙设备交互,必须要支持蓝牙4.0 硬件至少是4s,系统至少是iOS6 蓝牙4.0以低功耗著称,一般也叫BLE(Bluetooth Low Energy) 目前应用比较多案例...:运动手环,嵌入式设备,智能家居 设计到系统/框架 HealthKit/物联网HomeKit/wathOS1,2/iBeacon

1.1K70

Android蓝牙详析 | 经典蓝牙通讯架构

连接设备 蓝牙通讯机制建立在socket上; 要在两台设备上创建连接,需要实现服务器端和客户端机制 一般通讯过程: 在服务端等待客户端连接请求, 有连接请求后连接, 连接成功后有一个socket...(也即套接字), 通过socket套接字得到IO流, 往输入流读数据, 或者往输出流写数据, 即可以实现两台设备之间通讯; 服务器设备和客户端设备分别获得需要BluetoothSocket...; 上面说过, 要在两台设备上创建连接, 需要实现服务器端和客户端机制, 其中有一台需要开放服务端套接字, 另外一台作为客户端, 需要通过蓝牙Mac地址向服务端发送连接请求; 当我们服务端和客户端在同一个频道上的话...)连接; 首先要获取表示该远程设备BluetoothDevice对象, 这个对象是通过蓝牙Mac地址构造; Mac地址是一个设备全世界唯一标识; 通过BluetoothDevice对象...写数据); 调用write()时会往outputSteam写东西; 读数据时则处理input stream; ?

2.1K20

Android 蓝牙开发,蓝牙连打印机。

目录 效果: 开发环境 涉及知识点 集成配置 蓝牙连接 蓝牙打印 GitHub 效果: 特别声明:较之前版本有很大调整,之前版本是未适配8.0,现在是适配了,接入方式也不一样,包括代码逻辑都有调整...android:name="android.hardware.usb.host" android:required="true" /> ok,基本配置完成,开始进入正题...基本大流程分为两部分,一是蓝牙连接,二是打印,下面开始一一介绍。...ok,到这连接部分就介绍完毕了,下面开始介绍打印部分。 蓝牙打印 打印其实是软件与硬件之间交互,而这部分恰恰是sdk职责所在,所以留给我们任务已经不多了,也就相对简单很多。...2.打印之前也要先做蓝牙状态判断,只有做到足够严谨,才能看起来万无一失。。

2.6K20

Android 蓝牙开发(1)

应用框架提供了通过 Android Bluetooth API 访问蓝牙功能途径。...管理多个连接 传统蓝牙适用于电池使用强度较大操作,例如 Android 设备之间流传输和通信等。...针对具有低功耗要求蓝牙设备,Android 4.3(API 18)引入了面向低功耗蓝牙 API 支持。...关于蓝牙 API 在 android.bluetooth 包,下面介绍一下和蓝牙相关主要类 BluetoothAdapter 本地蓝牙适配器,是所有蓝牙交互入口点,表示蓝牙设备自身一个蓝牙设备适配器...健康设备: Android 4.0(API 14)引入了对蓝牙健康设备配置文件(HDP)支持。这样就允许我们创建应用可以使用蓝牙与支持蓝牙功能健康设备进行通信。

2.4K01

Android蓝牙连接a2dp蓝牙耳机

开发环境: 开发工具:Androidstudio 适配机型:honor8(Android6.0), 坚果R1(Android8.0) 开发功能:Android蓝牙连接A2DP...A2DP是能够采用耳机内芯片来堆栈数据,达到声音高清晰度。然而并非支持A2DP耳机就是蓝牙立体声耳机,立体声实现基本要求是双声道,所以单声道蓝牙耳机是不能实现立体声。...还有消费者看到技术参数提到蓝牙V1.0 V1.1 V1.2 V2.0——这些是指蓝牙技术版本,是指通过蓝牙传输速度,他们是否支持A2DP具体要看蓝牙产品制造商是否使用这个技术 代码介绍 代码结构如下...:应用唯一UI界面 其中readMe为说明文件 开启蓝牙代码: 向系统发送请求,开启蓝牙,该过程会请求用户同意开启蓝牙 Intent intent = new Intent(BluetoothAdapter.ACTION_REQUEST_ENABLE...); 接下来开启蓝牙扫描, btAdapter.startDiscovery(); 在扫描过程过滤掉非A2DP设备 if (btClass.getMajorDeviceClass() !

2.9K00

Android蓝牙开发教程(一)——搜索蓝牙设备

大家好,又见面了,我是你们朋友全栈君。 Android蓝牙功能开发一直是很多新手头疼问题,网上虽然也有很多教程贴,但大多都写得不全面,不能让我们真正掌握蓝牙开发基本知识。...本教程主要讲解搜索蓝牙设备、蓝牙设备之间连接和蓝牙之间通讯三个主要模块。掌握了这三个,基本就能进行简单蓝牙开发了。 先上效果图 界面比较简单。主要有三个按钮,两个文本和一个列表。...三个按钮主要对应打开蓝牙,搜索设备和发送信息三个功能。两个文本主要用于提示连接状态和发送消息以及获取消息。列表主要展示搜索到蓝牙设备。源码在后面会提供。...要用到蓝牙功能,需要先在manifest声明一下蓝牙使用权限 ...欢迎继续阅读下一篇 Android蓝牙开发教程(二)——连接蓝牙设备 发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/159847.html原文链接:https://

4.7K40

Android连续获取蓝牙RSSI

基于蓝牙RSSI可以有很多应用,要获得蓝牙RSSI无外乎两种方法,一种就是基于扫瞄方法,优点是Android本身支持,缺点是scan时间比较长,并且中间过程不受控制,为了连续测量,需要不断...连续测量Android设备(Java)蓝牙RSSI教程 在撰写本文时,即使存在用于获取WiFi RSSIAPI,也没有可用于连续检索现有蓝牙连接RSSIAPI。...当前API将只在初始连接建立过程获得蓝牙RSSI。在本文中,我们将了解如何从运行Linux计算机上连续获取Android设备和诺基亚移动电话蓝牙RSSI。...但是,对于商业化Android设备,这可能是不可能,因为要使用Android NDK从蓝牙HCI层调用任何函数,需要根访问。...我们可以利用我们已知设备蓝牙MAC地址过滤掉其他发现设备。在将设备与计算机连接之后,我们可以从Ubuntu蓝牙菜单偏好选项卡获得设备蓝牙MAC地址。

1.4K10
领券