文章目录

  • 一、蓝牙配对
  • 二、蓝牙连接

一、蓝牙配对


搜索到蓝牙设备后,将设备信息填充到listview中,点击listiew则请求配对

蓝牙配对有点击配对和自动配对,点击配对就是我们选择设备两个手机弹出配对确认框,点击确认后配对

自动配对就是搜索到蓝牙设备后自动配对不需要输入pin码,但在基本开发中都不采用这种方式,所以这里说的是第一种配对方式

点击配对,调用

BluetoothDevice.class.getMethod

进行配对,代码如下:

Method method = BluetoothDevice.class.getMethod("createBond");
Log.e(getPackageName(), "开始配对");
method.invoke(listdevice.get(position));

同样的,如果我们想要配对的设备取消配对

只需要将 creatBond 改为 removeBond

二、蓝牙连接

配对成功之后,就可以进行蓝牙连接了,蓝牙连接操作比较耗时,可以在一个线程中进行:

1. 调用自己定义的

connect(listdevice.get(position));

同样传递的参数也是设备device

首先声明蓝牙套接字:

private BluetoothSocket mBluetoothSocket;
...
mBluetoothSocket = bluetoothDevice.createRfcommSocketToServiceRecord(BltContant.SPP_UUID);

BltContant.SPP_UUID 是一个 UUID 常量,至于 UUID 是什么,大家可以自行百度,因为详细的文章已经很多了。

连接的时候要先判断蓝牙是否在扫描,如果在扫描就停止扫描,并且没有连接才进行连接,代码如下:

if (bluetoothadapter.isDiscovering()) {bluetoothadapter.cancelDiscovery();
}
if (!mBluetoothSocket.isConnected()) {mBluetoothSocket.connect();
}

当连接成功时,我们要让被连接的那部手机也自动跳转到聊天页面,所以我们要开启蓝牙服务端等待设备的连接,当设备连接时,自动跳转页面,蓝牙服务端代码如下:

/*** 开启服务端*/
public void startBluService() {while (true) {try {if (getBluetoothServerSocket() == null){Log.e("在这里获取的为空","在这里获取的为空");}bluetoothSocket = getBluetoothServerSocket().accept();if (bluetoothSocket != null) {APP.bluetoothSocket = bluetoothSocket;EventBus.getDefault().post(new BluRxBean(SERVER_ACCEPT, bluetoothSocket.getRemoteDevice()));//如果你的蓝牙设备只是一对一的连接,则执行以下代码getBluetoothServerSocket().close();//如果你的蓝牙设备是一对多的,则应该调用break;跳出循环//break;}} catch (IOException e) {e.printStackTrace();}}
}

【Android -- 蓝牙】蓝牙配对和蓝牙连接相关推荐

  1. Win10 蓝牙已配对但无法连接的问题

    Win10 蓝牙已配对但无法连接的问题 今天打开笔记本,发现ikbc的dc87键盘的蓝牙怎么也连不上,尝试了在蓝牙设置和设备管理器里删除该设备,后再重新配对,然而无法解决. sigh- 好吧,决定开始 ...

  2. win10蓝牙已配对连接不上_图文解读win10系统显示蓝牙已配对但未连接的解决教程...

    图文解读win10系统显示蓝牙已配对但未连接的解决教程 更新日期:2020-05-06 12:12:02 作者:win10蓝牙 来源:本站整理 我们在操作win10系统电脑的时候,常常会遇到win10 ...

  3. win10蓝牙已配对连接不上_win10系统蓝牙已配对但未连接的解决方法

    很多小伙伴都遇到过win10系统蓝牙已配对但未连接的困惑吧,一些朋友看过网上零散的win10系统蓝牙已配对但未连接的处理方法,并没有完完全全明白win10系统蓝牙已配对但未连接是如何解决的,今天小编准 ...

  4. win10蓝牙已配对连接不上_手把手帮您win10系统显示蓝牙已配对但未连接的设置教程...

    许多win10系统用户在工作中经常会遇到win10系统显示蓝牙已配对但未连接的情况,想必大家都遇到过win10系统显示蓝牙已配对但未连接的情况吧,那么应该怎么处理win10系统显示蓝牙已配对但未连接呢 ...

  5. win10蓝牙已配对连接不上_Win10系统显示蓝牙已配对但未连接的解决方法

    最近有win10系统用户反映说碰到这样一个情况,就是在使用蓝牙的时候,明明已经显示蓝牙已配对了,但是却一直未连接,导致无法使用蓝牙功能,遇到这样的问题该如何处理呢?本文就给大家讲解一下Win10系统显 ...

  6. win10蓝牙已配对连接不上_Win10系统显示蓝牙已配对但未连接咋办?

    电脑的蓝牙设备是我们在Win10系统中电脑传输,接收文件有的小伙伴在使用的方式,安全快捷,今天看到有小伙伴在使用蓝牙的时候初选了问题,系统显示蓝牙已配对了的,但是一直不能成功连接的情况,遇到这个问题我 ...

  7. w10添加蓝牙显示无法连接服务器失败,技术解答Win10系统下显示蓝牙已配对但未连接的修复方式...

    电脑已经成为了大家生活中不可或缺的东西,而且基本上所有的用户电脑都安装了windows系统,操作系统的过程中往往会遇到一些问题,就比如Win10系统下显示蓝牙已配对但未连接的情况,如果你的电脑技术不够 ...

  8. win10蓝牙已配对连接不上_教你win10系统显示蓝牙已配对但未连接失败如何解决...

    win10系统自带有蓝牙功能,但有时候会碰到一些情况,比如最近有用户在使用蓝牙的时候,系统显示蓝牙已经配对了,但一直不能成功连接,就此问题,接下来小编教你win10系统显示蓝牙已配对但未连接失败如何解 ...

  9. HC05蓝牙主机配对BT06蓝牙从机教程

    HC05蓝牙主机配对BT06从机教程 第一步:检查你买的模块买的是什么型号 第二步:先配置BT06从机 第三步:配置HC05主机 最后一步 相信各位看到这篇文章的时候,也都是和我一样,需要配置两个蓝牙 ...

  10. android获取已配对的蓝牙列表和已连接蓝牙设备

    private void getPairBLEAndConnectBLE() {BluetoothAdapter defaultAdapter = BluetoothAdapter.getDefaul ...

最新文章

  1. 我的python学习笔记
  2. 使用Silverlight4无边窗口
  3. linux kernel中的进程栈
  4. 最简单的方式实现一棵二叉树
  5. Transformation available that removes all elements from form message type
  6. webform数据导出
  7. awstats 网站访问统计工具安装
  8. 解决UBUNTU NVIDIA驱动安装后循环登录问题:关闭UEFI Secure Boot选项
  9. 科研英文论文翻译工具——Copytranslator
  10. 无需教师端极域电子教室的反控制实现
  11. php验证码图片不显示怎么办,php 验证码图片无法显示怎么办
  12. matlab 复制 模块,想把m文件在simulink 中的调用,我用的是matlab function 模块。
  13. php Allowed memory size of 134217728 bytes exhausted
  14. bi数据分析工具有哪些?
  15. 噪声特性及matlab函数
  16. SQLServer uniqueidentifier 类型
  17. 【选址优化】基于粒子群算法求解配电网抢修选址优化问题含Matlab源码
  18. 罗尔定理_高数_1元微积分
  19. Tomcat 7 相关参数优化说明及配置最佳案例
  20. 手机归属地查询API接口,免费好用

热门文章

  1. 舞动的CPU占用率曲线
  2. 用python画弧形用坐标画弧线,python绘制弧形的函数
  3. SQL中字符截取、拼接 、转换常用方法
  4. python文件读取写入元组_python文件的读写
  5. SVC,HVC,SMC指令
  6. 那几个月在找工作(百度、网易游戏等)
  7. python三位数水仙花数计算_python使用循环打印所有三位数水仙花数的实例
  8. 通过jsp下载文件时文件名及文件内容错误问题
  9. 触控科技携手亚马逊AWS和应用商店 提升初创游戏开发公司盈利水平
  10. 爬取B站视频播放量及数据可视化