Android开发之蓝牙--扫描已经配对的蓝牙设备
一. 什么是蓝牙(Bluetooth)?
1.1 BuleTooth是目前使用最广泛的无线通信协议
1.2 主要针对短距离设备通讯(10m)
1.3 常用于连接耳机,鼠标和移动通讯设备等.
二. 与蓝牙相关的API
2.1 BluetoothAdapter:
代表了本地的蓝牙适配器
2.2 BluetoothDevice
代表了一个远程的Bluetooth设备
三. 扫描已经配对的蓝牙设备(1)
注:必须部署在真实手机上,模拟器无法实现
首先需要在AndroidManifest.xml 声明蓝牙权限
<user-permission android:name="android.permission.BLUETOOTH" />
配对蓝牙需要手动操作:
1. 打开设置--> 无线网络 --> 蓝牙 勾选开启
2. 打开蓝牙设置 扫描周围已经开启的蓝牙设备(可以与自己的笔记本电脑进行配对),点击进行配对
电脑上会弹出提示窗口: 添加设备
显示计算与设备之间的配对码,要求确认是否配对
手机上也会显示类似的提示.
四. 扫描已经配对的蓝牙设备(2)
4.1 获得BluetoothAdapter对象
4.2 判断当前移动设备中是否拥有蓝牙
4.3 判断当前移动设备中蓝牙是否已经打开
4.4 得到所有已经配对的蓝牙设备对象
import java.util.Iterator;
import java.util.Set;import android.app.Activity;
import android.bluetooth.BluetoothAdapter;
import android.bluetooth.BluetoothDevice;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;public class MainActivity extends Activity {private Button button = null;/** Called when the activity is first created. */@Overridepublic void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.main);button = (Button)findViewById(R.id.buttonId);button.setOnClickListener(new OnClickListener(){@Overridepublic void onClick(View v) {//获得BluetoothAdapter对象,该API是android 2.0开始支持的BluetoothAdapter adapter = BluetoothAdapter.getDefaultAdapter();//adapter不等于null,说明本机有蓝牙设备if(adapter != null){System.out.println("本机有蓝牙设备!");//如果蓝牙设备未开启if(!adapter.isEnabled()){Intent intent = new Intent(BluetoothAdapter.ACTION_REQUEST_ENABLE);//请求开启蓝牙设备startActivity(intent);}//获得已配对的远程蓝牙设备的集合Set<BluetoothDevice> devices = adapter.getBondedDevices();if(devices.size()>0){for(Iterator<BluetoothDevice> it = devices.iterator();it.hasNext();){BluetoothDevice device = (BluetoothDevice)it.next();//打印出远程蓝牙设备的物理地址System.out.println(device.getAddress());}}else{System.out.println("还没有已配对的远程蓝牙设备!");}}else{System.out.println("本机没有蓝牙设备!");}}});}
}
转载于:https://www.cnblogs.com/lhj588/p/3610445.html
Android开发之蓝牙--扫描已经配对的蓝牙设备相关推荐
- Android开发之蓝牙(Bluetooth)操作(一)--扫描已经配对的蓝牙设备
版权声明:本文为博主原创文章,未经博主允许不得转载. 一. 什么是蓝牙(Bluetooth)? 1.1 BuleTooth是目前使用最广泛的无线通信协议 1.2 主要针对短距离设备通讯(10m) ...
- android 开发之蓝牙开发
最近项目开发中蓝牙打印机需要用到蓝牙,所以在这里对蓝牙知识进行一个梳理和总结. 在使用蓝牙时有几个需要注意在这里新提出来 : 1: 权限 :前面两个蓝牙权限大家都会记住,如果你出现下面这个异常: 安卓 ...
- android spp 服务端,Android开发之蓝牙(一)——基于SPP协议蓝牙模块通信,androidspp...
Android开发之蓝牙(一)--基于SPP协议蓝牙模块通信,androidspp 使用设备 基本概念 基本流程 本文意在介绍蓝牙开发的主要流程,学习使用蓝牙开发一个星期了,写写一个星期以来遇到的一些 ...
- 泰凌微ble mesh蓝牙模组天猫精灵学习之旅④如何在Android开发低功耗蓝牙ble控制 TB-02 模块,代码工程全部开源!(附带Demo)
本<泰凌微ble mesh蓝牙模组天猫精灵学习之旅>系列博客学习由半颗心脏 潜心所力所写,仅仅做个人技术交流分享,不做任何商业用途.如有不对之处,请留言,本人及时更改. 1.小白也痴迷,如 ...
- Android开发之——蓝牙-协议
一 概述 传统蓝牙和低功耗蓝牙 蓝牙进行通信的四大必需任务 关键俗语和概念 Android 应用可通过 Bluetooth API 执行的操作 二 传统蓝牙和低功耗蓝牙 2.1 经典蓝牙模块(BT) ...
- Android开发之蓝牙(Bluetooth)---源码目录
一 Bluetooth 的设置应用 packages\apps\Settings\src\com\Android\settings\bluetooth\* 蓝牙设置应用及设置参数,蓝牙状态,蓝牙设备等 ...
- android设备连接蓝牙扫描枪获取数据
第一步,开启连接 首先要开启蓝牙并且找到蓝牙扫描枪连接,在自己的应用中添加权限 <uses-permission android:name="android.permission.BL ...
- android开发之蓝牙主动配对连接手机
上一篇介绍了手机配对连接的三种方式,这篇以完整的一个代码实例介绍如何搜索周围的蓝牙设备,以及主动配对,连接. 主要注释在代码中都有. package jason.com; import java.io ...
- Android 9.0 蓝牙扫描流程
微信扫码,给个关注吧 昨天梳理了蓝牙的开启流程,今天梳理一遍扫描流程: 1.UI /packages/apps/Settings/src/com/android/settings/bluetooth/ ...
最新文章
- poj1741(树的点分治)
- Spring Actuator源码分析(转)
- CTFshow 信息收集 web19
- 三国志战略版服务器维护延时,三国志战略版服务器爆满是多少人 爆满进不去怎么办...
- html ip输入框效果,html5 input文本框输入动画特效
- 晶体(crystal、无源晶振)两端电容取值计算
- python前端调用后端模型_【Python】【Flask】前端调用后端方法
- 在Flash中接收来自页面(.NET)的值的方法.
- C#基础8:类的继承
- php网页表格样式,HTML的表格样式
- 随机数相关函数rand与srand 以及drand48()与srand48
- tplink怎么进去_用手机或电脑进入TP-Link路由器设置界面的方法 怎么进入TP-Link路由器设置界面?...
- 【资料】wod旗帜,纹章
- 社交帝国的至暗时刻,Facebook“非死不可”?
- android 检测软键盘,Android:检测软键盘打开
- 输入一个字符串,判断其是否为回文串。
- Spring为什么这么火 之 Spring蕴含的设计思想
- OpenGL集锦(1)-安装与概述
- mysql如何设置密码
- 挤爆牙膏的ARM面临众叛亲离局面,不给华为用,而高通有意抛弃
热门文章
- docker创建rabbitmq容器命令
- zuul默认的路由规则及禁用路由规则
- Hystrix默认超时时间
- 大型高并发系统的系统设计要点
- RabbitMQ消息confirm确认机制
- 由于更换了java版本,Eclipse启动时报错:JRE or JDK must be available in order to run Eclipse
- 沈抚新区机器人产业园怎么_“智慧物流智能AGV技术交流峰会”在长春中日智能制造产业园成功举办...
- scp有证书的传输,压缩,解压
- xml约束和实际场景使用
- C++ warning:’xxx‘ has no out-of-line virtual method definitions...