上篇文章:https://blog.csdn.net/huangliniqng/article/details/82187966 上篇文章我们讲解了,蓝牙配对和蓝牙连接相关知识,还没有了解的朋友可先移步上篇文章...1.蓝牙通信简介 无论是做Java还是Android开发的朋友肯定都比较熟悉Socket的连接,在java中通信用的是Socket,同样的蓝牙之间通信(这里说的是经典蓝牙)方式也是Socket,只不过是...BluetoothSocket,同样的也要有Socket服务端和客户端 2.蓝牙通信消息接收端 设备连接后,跳转到通讯界面,首先我们要在通讯界面开启消息接收端服务,同样的我们要在一个线程中开启 得到bluetooth...文件保存成功")); } } } catch (IOException e) { e.printStackTrace(); } } 3.蓝牙通信发送文本消息...BltContant.SEND_TEXT_SUCCESS)); } catch (IOException e) { e.printStackTrace(); } } 4.蓝牙通信发送文件
Android 蓝牙开发(1) 官网地址:https://developer.android.com/guide/topics/connectivity/bluetooth-le Android 4.3...(API 18 )引入了低功耗蓝牙,应用可以查询周围设备、查询设备的服务、传输信息。...确定了两个设备建立连接后如何进行相互通信 BLE 权限 应用在使用蓝牙设备的时候必须要声明蓝牙权限 BLUETOOTH 需要这个权限才可以进行蓝牙通信,例如:请求连接、接受连接、和传输数据。...如果要声明我们的应用仅适用于支持 BLE 的设备,需要清单文件中做如下声明 android:name = "android.hardware.bluetooth_le" android...完成后要记得关闭设备 bluetoothGatt.close(); 关于蓝牙框架的一个库:https://github.com/Alex-Jerry/Android-BLE
普通蓝牙设备官方文档 Android 平台包含蓝牙网络堆栈支持,凭借此支持,设备能以无线方式与其他蓝牙设备交换数据。...应用框架提供了通过 Android Bluetooth API 访问蓝牙功能的途径。...针对具有低功耗要求的蓝牙设备,Android 4.3(API 18)中引入了面向低功耗蓝牙的 API 支持。...正是利用这个对象来完成蓝牙设备间的数据交换, BluetoothServerSocket 表示用于侦听传入请求的开发服务器套接字(类似于 TCP ServerSocket)要连接两台 Android 设备...,其中一台设备必须使用此类开发的一个服务器套接字。
使用蓝牙的响应权限android:name="android.permission.BLUETOOTH"/> android:name...="android.permission.BLUETOOTH_ADMIN"/> 配置本机蓝牙模块 在这里首先要了解对蓝牙操作一个核心类BluetoothAdapter BluetoothAdapter...); startActivityForResult(intent, 0x1); //直接打开蓝牙 adapter.enable(); //关闭蓝牙 adapter.disable...该方法会进行对其他蓝牙设备的搜索,该过程会持续12秒。...蓝牙Socket通信 如果打算建议两个蓝牙设备之间的连接,则必须实现服务器端与客户端的机制。
1 蓝牙基本操作 随着可穿戴设备的流行,研究蓝牙是必不可少的一门技术了。 总结了下蓝牙开发使用的一些东西分享一下。...android.permission.BLUETOOTH” /> 允许程序连接到已配对的蓝牙设备。...android.permission.BLUETOOTH_ADMIN” /> 允许程序发现和配对蓝牙设备。...BluetoothAdapter 操作蓝牙主要用到的类 BluetoothAdapter类,使用时导包 import android.bluetooth.BluetoothAdapter; 源码具体位置...frameworks/base/core/java/android/bluetooth/BluetoothAdapter.java BluetoothAdapter 代表本地设备的蓝牙适配器。
前面的两篇文章,主要是在 Android 官网关于蓝牙介绍的基础上加上自己的理解完成的。主要针对的是 Android 开发中的一些 API 的使用。...第一篇文章 Android 蓝牙开发(1) 主要是介绍了普通的蓝牙在 Android 开发中的运用。 第二篇文章 Android 蓝牙开发(2) 主要是介绍了低功耗蓝牙的开发。...我们的 API 的调用都是以这个为基础的,了解这些,开发过程中遇到问题,才可以知道什么怎么一回事。 下篇文章主要讲的就是实际开发中的一些坑。 蓝牙的发展历史 蓝牙技术最初是由爱立信创制的。...在 Android 4.3 的时候开始支持低功耗蓝牙。仅仅支持中心模式,就是只可以连接其他蓝牙外设。到了 2014 年 Android 5.0 开始也支持周边模式。 协议栈 ?...这层在协议栈中是可选的,一些小型终端可能没有,但是 Android 设备上肯定有,这层是蓝牙上层和芯片的交互必经之路,对于蓝牙硬件开发者,这里的 log 能够很好的帮助解决问题。
上篇文章:https://blog.csdn.net/huangliniqng/article/details/82185983 讲解了打开蓝牙设备和搜索蓝牙设备,这篇文章来讲解蓝牙配对和蓝牙连接 1....蓝牙配对 搜索到蓝牙设备后,将设备信息填充到listview中,点击listiew则请求配对 蓝牙配对有点击配对和自动配对,点击配对就是我们选择设备两个手机弹出配对确认框,点击确认后配对 ...自动配对就是搜索到蓝牙设备后自动配对不需要输入pin码,但在基本开发中都不采用这种方式,所以这里说的是第一种配对方式 点击配对,调用 BluetoothDevice.class.getMethod...同样的,如果我们想要配对的设备取消配对 只需要将creatBond改为removeBond 2.蓝牙连接: 配对成功之后,就可以进行蓝牙连接了,蓝牙连接操作比较耗时,可以在一个线程中进行: 调用自己定义的...在这里我们需要注意的是,当连接成功时,我们要让被连接的那部手机也自动跳转到聊天页面,所以我们要开启蓝牙服务端等待设备的连接,当设备连接时,自动跳转页面,蓝牙服务端代码如下: /** * 开启服务端
上篇文章:https://blog.csdn.net/huangliniqng/article/details/82185983 讲解了打开蓝牙设备和搜索蓝牙设备,这篇文章来讲解蓝牙配对和蓝牙连接 1....蓝牙配对 搜索到蓝牙设备后,将设备信息填充到listview中,点击listiew则请求配对 蓝牙配对有点击配对和自动配对,点击配对就是我们选择设备两个手机弹出配对确认框,点击确认后配对...自动配对就是搜索到蓝牙设备后自动配对不需要输入pin码,但在基本开发中都不采用这种方式,所以这里说的是第一种配对方式 点击配对,调用 BluetoothDevice.class.getMethod...中所以从list中取) 点击之后怎会弹出配对确认框,且必须被配对的手机也点击确认配对才可以配对成功如图: 同样的,如果我们想要配对的设备取消配对 只需要将creatBond改为removeBond 2.蓝牙连接...: 配对成功之后,就可以进行蓝牙连接了,蓝牙连接操作比较耗时,可以在一个线程中进行: 调用自己定义的 connect(listdevice.get(position)); 同样传递的参数也是设备device
目录 效果: 开发环境 涉及知识点 集成配置 蓝牙连接 蓝牙打印 GitHub 效果: 特别声明:较之前的版本有很大的调整,之前的版本是未适配8.0的,现在是适配了的,接入方式也不一样,包括代码逻辑都有调整...(更新时间:2020-03-27) 开发环境 Gprinter佳博打印机,型号GP-2120TU Android Studio 3.6.1,gradle 3.5.3 本文可能内容比较长,但是难度不大。...涉及知识点 蓝牙相关 多线程开发 线程池 构建者模式 单例模式 运行时权限 BroadcastReceiver startActivityForResult 等等 集成配置 1.添加jar包,在app目录下新建...android:name="android.permission.BLUETOOTH_ADMIN" /> android:name="android.permission.BLUETOOTH...android:name="android.permission.CHANGE_NETWORK_STATE" /> android:name="android.permission.ACCESS_COARSE_LOCATION
Android蓝牙功能的开发一直是很多新手头疼的问题,网上虽然也有很多教程贴,但大多都写得不全面,不能让我们真正掌握蓝牙开发的基本知识。...本教程主要讲解搜索蓝牙设备、蓝牙设备之间的连接和蓝牙之间的通讯三个主要模块。掌握了这三个,基本就能进行简单的蓝牙开发了。 先上效果图 界面比较简单。主要有三个按钮,两个文本和一个列表。...要用到蓝牙的功能,需要先在manifest中声明一下蓝牙的使用权限 android:name="android.permission.BLUETOOTH"/>...android:name="android.permission.BLUETOOTH_ADMIN"/> android:name...欢迎继续阅读下一篇 Android蓝牙开发教程(二)——连接蓝牙设备 发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/159847.html原文链接:https://
针对低功耗蓝牙通讯,Android 4.3(API 18)开始引入了 BLE 库。我们可以直接使用 Android SDK 中的蓝牙 BLE 库,而不用额外导入依赖库。...以前开发蓝牙通讯,还需要实现蓝牙配对。需要主动跳转到手机设置界面进行PIN码配对,然后配对通过之后才能进行蓝牙链接。...3.开发 基于我的使用情况,从无到有的介绍,完整的蓝牙开发配置过程。给大家一个参考 语言主要为 Java 3.1 权限 要在应用中使用蓝牙功能,必须声明 BLUETOOTH 蓝牙权限。...如果要执行蓝牙扫描功能,我们需要申请:android:name="android.permission.BLUETOOTH_SCAN" />权限 如果要执行蓝牙链接,开关蓝牙...权限配置完毕之后,就是代码开发了。 不管是高版本,还是低版本。将权限都申请可以说最稳妥了。 3.2 检测设备是否支持蓝牙 通常情况下,手机是有蓝牙的。
最近在做蓝牙开发,刚接触时傻傻的分不清经典蓝牙和低功耗蓝牙的区别,一直用开发低功耗蓝牙的方法去连接经典蓝牙设备,最后当然是一直连接不上了。在此记录下经典蓝牙和低功耗蓝牙的区别和联系。...Android中的蓝牙 说到Android中的蓝牙,大家听到的可能有蓝牙1.0、蓝牙2.0、蓝牙3.0、蓝牙4.0之类的以数字结尾的蓝牙版本号,而实际上,在最新的标准中,已经不再使用数字版本号作为蓝牙版本的区分了...如果使用智能手机作为测试平台,其硬件条件是,蓝牙得至少是低功耗蓝牙版本,然后安卓系统的话,至少得是Android 4.3以上系统才行,因为Google在Android 4.3以上才做了BLE主设备的支持...,如果想将智能手机作为BLE从设备,则必须在Android 5.0以上才行。...很多智能电视配的遥控器带有语音识别,需要用经典蓝牙才能传输声音 传大数据量的,用经典蓝牙: 如某些工控场景,使用Android或Linux主控,外挂蓝牙遥控设备的,可以使用经典蓝牙里的SPP协议
低功耗蓝牙简述 一、什么是低功耗蓝牙? 二、怎么做低功耗蓝牙应用? ① 之前有没有接触Android蓝牙开发? ② 蓝牙设备固件是公司自己的吗? ③ 有没有蓝牙固件和蓝牙应用的文档和Demo?...二、怎么做低功耗蓝牙应用? 在了解了低功耗蓝牙的基本知识之后,回到我们Android应用开发上来,你要做什么应用?你有没有好好想过呢?难道就是一句话:”干就完了!...“,这是不可取的,因为你如果从来没有接触过那么你会在实际开发中遇到很多的问题,而这些问题都源于你的这句话:”干就完了!“。 在做Android蓝牙应用时,要先确定几个问题,这能让你少踩几个坑。...之前有没有接触Android蓝牙开发? 蓝牙设备固件是公司自己的吗? 有没有蓝牙固件和蓝牙应用的文档和Demo? 具体的业务功能需求明确吗? Android端应用是重新写还是接手老项目?...这些问题的答案就决定了你在开发Android低功耗蓝牙应用的进度和结果。 ① 之前有没有接触Android蓝牙开发?
Android蓝牙开发系列目录: https://blog.csdn.net/huangliniqng/article/details/82185635 一、判断是否系统是否支持蓝牙 在使用蓝牙之前,...", Toast.LENGTH_SHORT).show(); } 二、判断蓝牙是否打开 开始使用蓝牙之前,首先要判断蓝牙是否开启,如果没有开启则开启,蓝牙开启有两种方式一种是直接默认开启,另一种是弹出框让用户选择开启...android:name="android.permission.BLUETOOTH_ADMIN" /> android:name="android.hardware.location.gps..." /> <uses-feature android:name="android.hardware.bluetooth_le" android:required="true" /> android:name="android.permission.ACCESS_FINE_LOCATION" /> android:name="android.permission.ACCESS_COARSE_LOCATION
BLE及相关协议 BLE是蓝牙4.0标准的一部分,旨在解决传统蓝牙连接慢、能耗大的问题,Google在Android 4.3(API 18)中引入了对BLE的支持。...BLE应用权限 涉及到蓝牙相关开发需要在AndroidManifest.xml中声明权限,其中位置权限在扫描LE设备时需要使用。...Android BLE相关类 BluetoothAdapter:Android设备的蓝牙适配器,可执行基本的蓝牙任务,如启动、停止设备发现,查询已配对设备,获取蓝牙适配器状态,使用MAC地址实例化蓝牙设备类...本次开发仍使用startLeScan方法,在LeScanCallback的onLeScan方法中处理搜索到的设备。...注意:如果开发中使用的是虚拟BLE设备,还需先设置虚拟设备中需要通知的特征的Descriptor为开启通知,后续才会收到通知事件。
前言 之间我写过蓝牙开发的文章,只不过是针对于经典蓝牙,可以理解为普通蓝牙,连接的对象是经典蓝牙,列如手机蓝牙、蓝牙耳机等设备。...这个库是Nordic公司开发的,在蓝牙领域很出名的公司。这个版本是适配androidx的,一般现在创建新项目都是默认支持androidx的,不支持的话就说明你的AS该更新了。...-- 蓝牙权限 --> android:name="android.permission.BLUETOOTH" /> Android 6.0以后的系统BLE scan需要申请location的相关权限才能支持BLE的一些功能,比如发现附近的beacons设备。 这是开发的时候必须用到的权限,并非权限滥用。...而在Android6.0以后则有了动态权限的申请,这里就说明一下等下为是什么要请求定位权限,后面就不要问我为什么扫描一个蓝牙还要打开定位权限这样的问题了。
Android 低功耗蓝牙开发(数据交互) 前言 正文 一、BluetoothGattCallback 1. onPhyUpdate 2. onPhyRead 3. onServicesDiscovered...读取特性、描述符、RSSI 三、源码 前言 在上一篇低功耗蓝牙开发文章中,我讲述了扫描和连接,本篇文章讲述数据的交互。...正文 因为本篇文章会接着上一篇文章进行一个续写,上一篇文章 Android 低功耗蓝牙开发(扫描、连接),没看过的可以先看看,这样可以平稳过度,当然如果对扫描和连接都没有问题的可以直接从本篇文章开始看...这个类里面还有一些方法,可以用于针对开发中的使用进行调用。...不过在实际开发中这样的做法并不可取,因为一个蓝牙项目里面不可能只有一个地方需要使用这个监听,那么此时就需要封装一个类去单独实现BluetoothGattCallback中的方法,然后再根据需要取使用。
前言 公司最近给我丢了一个蓝牙开发的项目,不了解怎么办呢,那当然是从最基础的开始了,所以这里相当于做笔记了。 效果图 打开蓝牙 ? 扫描蓝牙设备 ? 看了效果图,你想不想自己试一下呢?...--蓝牙连接权限--> android:name="android.permission.BLUETOOTH" /> 蓝牙通讯权限--> android:name="android.permission.BLUETOOTH_ADMIN" /> android:attr/selectableItemBackground" android:gravity="center" android:text="扫描蓝牙" /...true; if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) { //开发版
1.添加权限 android:name="android.permission.BLUETOOTH"/> android:name...="android.permission.BLUETOOTH_ADMIN"/> 2.main.xml android="http://schemas.android.com.../apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent...; import android.content.Context; import android.content.Intent; import android.content.IntentFilter;...unregisterReceiver(find_R); unregisterReceiver(this); } }; // ACTION_FOUND,这是搜索到的所有蓝牙
蓝牙设备连接 蓝牙的连接过程 获取->配对->连接 权限 首先需要AndroidManifest.xml文件中添加操作蓝牙的权限。...android.permission.BLUETOOTH" /> 允许程序连接到已配对的蓝牙设备。...android.permission.BLUETOOTH_ADMIN" /> 获取可用蓝牙设备 引包 操作蓝牙主要用到的类 BluetoothAdapter...类,使用时导包 import android.bluetooth.BluetoothAdapter; BluetoothAdapter 代表本地设备的蓝牙适配器。...returnValue = (Boolean) removeBondMethod.invoke(btDevice); return returnValue.booleanValue(); } 服务端 android
领取专属 10元无门槛券
手把手带您无忧上云