温馨提示:本文主要针对蓝牙终端操作,其他设备暂未测试过。

封装了一系列的蓝牙操作:

1、搜索蓝牙

现已封装为类,可直接调用:BluetoothDeviceDialog

搜索总共分为两步:

(1)开始搜索

BluetoothAdapter.getDefaultAdapter().startDiscovery()

(2)注册播放接收数据

private fun initBluetooth() {val intentFilter = IntentFilter()intentFilter.addAction(BluetoothDevice.ACTION_FOUND)intentFilter.addAction(BluetoothAdapter.ACTION_DISCOVERY_FINISHED)context.registerReceiver(receiver, intentFilter)
}
private var receiver: BroadcastReceiver = object : BroadcastReceiver() {override fun onReceive(context: Context, intent: Intent) {when (intent.action) {BluetoothDevice.ACTION_FOUND -> {//找到设备
                val device = intent.getParcelableExtra<BluetoothDevice>(BluetoothDevice.EXTRA_DEVICE)when (device.bondState) {BluetoothDevice.BOND_BONDED -> Unitelse -> if (!holder.adapter.dataList.contains(device)) holder.adapter.add(device)}}BluetoothAdapter.ACTION_DISCOVERY_FINISHED -> {//搜索完成
                holder.recyclerView.refreshComplete()if (holder.adapter.itemCount <= 0)showToast("未找到设备")}}}
}

2、配对蓝牙

BluetoothChatService.connect()

3、发送消息

BluetoothChatService.write()

4、接收消息

现已将操作封闭为类BluetoothChatService.java,由于代码太多就不贴出来了,请移到Github上查看

完整的实例:Demo链接:https://github.com/SpringSmell/quick.library/blob/master/app/src/main/java/com/example/chriszou/quicksample/ui/bluetooth/BluetoothChatService.java

Android 蓝牙终端交互管理相关推荐

  1. android 蓝牙管理

    蓝牙( Bluetooth®):是一种无线技术标准,可实现固定设备.移动设备和楼宇个人域网之间的短距离数据 交换(使用2.4-2.485GHz的ISM波段的UHF无线电波).蓝牙设备最多可以同时和7个 ...

  2. Android 蓝牙自动匹配PIN码跳过用户交互

    近期项目中需要连接蓝牙设备,起初只是设置蓝牙列表界面让用户点击然后输入默认PIN码,后来改需求了 = = ,要求自动连接指定设备并不需要用户手动输入PIN码,作为Android 小白的我是拒绝的,但是 ...

  3. Android 蓝牙 A2DP基础概念、A2DP音频流的建立及传输流程、A2DP播放暂停音乐命令交互过程分析 - 史上最全分析

    同学,别退出呀,我可是全网最牛逼的 Android 蓝牙分析博主,我写了上百篇蓝牙文章,请点击下面了解本专栏,进入本博主主页看看再走呗,一定不会让你后悔的,记得一定要去看主页置顶文章哦. Androi ...

  4. Android蓝牙系统

    蓝牙技术的特点 全球范围适用: 蓝牙技术使用无需经过许可的工业.科研和医疗(ISM)波段(2.4至2.485 GHz),使用展频.调频.全双工信号,标称速率为1600跳/秒.在大多数国家,无需经过许可 ...

  5. 第一节:Android蓝牙系统

    第1章 Android蓝牙系统 1.1 蓝牙技术简介 蓝牙(Bleuetooth)原是十世纪统一了丹麦的一个国王的名字,现取其"统一"的含义,用来意在统一无线局域网通讯的标准的蓝牙 ...

  6. Android 蓝牙BLE开发详解

    Android 蓝牙BLE开发详解 由于年初接手了个有关蓝牙BLE的项目,开始了对蓝牙ble的学习,经过长时间的慢慢学习(学得太慢,太拖了),终于了解了该怎么写蓝牙BLE,现在就给大家分享一下. 一. ...

  7. 【Android应用开发】Android 蓝牙低功耗 (BLE) ( 第一篇 . 概述 . 蓝牙低功耗文档 翻译)

    转载请注明出处 : http://blog.csdn.net/shulianghan/article/details/50515359 参考 :  -- 官方文档 : https://develope ...

  8. android自助终端界面_ZTHP500 | 桌面式人脸消费终端

    科技总在不知不觉中影响着我们的生活和生产方式,让衣食住行都变的更加智能化,过去只存在于我们想象当中的事物正在一一变为现实,缩短我们与世界的距离. "明明可以靠脸吃饭"本来只是一句玩 ...

  9. ym——物联网入口之中的一个Android蓝牙4.0

    转载请注明本文出自Cym的博客(http://blog.csdn.net/cym492224103),谢谢支持! 假设还有同学不知道蓝牙4.0能够做什么请查看Android+蓝牙 4.0 将带来什么? ...

  10. Android蓝牙系统框架和代码架构

    二.蓝牙Bluetooth源码目录分析 1.Bluetooth的设置应用 路径:\packages\apps\Settings\src\com\android\settings\bluetooth 蓝 ...

最新文章

  1. 个人作业1:小学四则运算——基于控制台
  2. Swift - 使用Alamofire通过HTTPS进行网络请求,及证书的使用
  3. Javascript--键盘事件的组合使用
  4. Retrofit 上传文件显示进度及踩坑记录
  5. 二级路由dhcp关闭连不上wifi_手把手教你天翼校园网开wifi
  6. C/C 宏替换详解
  7. LeetCode 1023. 驼峰式匹配(暴力匹配)
  8. poj2785 折半枚举 挑战程序设计竞赛
  9. 见证中国技术成长 数据技术嘉年华的别样十年
  10. DBC2000有什么作用?DBC2000的安装与配置
  11. DSA数字签名原理及python实现
  12. Gram矩阵计算实例
  13. jquery源码_详细中文注释
  14. Redhat 9.0之xtt+xft2,可显示粗斜体美化总结(第二版)
  15. [Irving]SQL去重复-DISTINCT用法
  16. C++ 标准库の使用迷思
  17. Java POI 对Excel合并单元格的数据处理
  18. 用python做一个简单的投票程序_如何编写一个自动投票程序
  19. 如何正确的做技术选型
  20. matlab圆周率计算,matlab代码求圆周率的简单算法

热门文章

  1. java 远程视频监控系统_基于JAVA的远程屏幕监控系统
  2. oracle ntile函数,Oracle分析函数ntile
  3. Linux之内存管理mm_struct
  4. 微星笔记本win键失灵了怎么解决
  5. 帝国CMS7.5二次元COS漫画分享漫展网站源码
  6. 用Python画一个时钟---简易版
  7. C#海康解码器上大屏代码事例
  8. 【转】平时看到的比较好的一篇文章,送给通信专业的学生
  9. 小学计算机集体备课活动记录,信息技术学科组集体备课活动记录.doc
  10. 口罩预约管理系统——数据库设计(前端+PHP+MySQL)