如何判断蓝牙设备类型
我们在开发Android的蓝牙应用时,可能需要知道扫描到的蓝牙设备是什么类型,然后过滤掉不符合要求的设备,只保留符合要求的设备,例如我们在车载系统上开发蓝牙电话应用时,我们希望只显示手机蓝牙设备,那么如何从搜索到的蓝牙设备中选择出手机蓝牙设备?
其实Android已经为我们提供了相应的API来识别设备类型,假如你已经获取到了蓝牙设备,设备对象为device:
那么可以通过下面的方法获取设备类型->
BluetoothClass bluetoothClass = device.getBluetoothClass();
final int deviceClass = bluetoothClass.getDeviceClass(); //设备类型(音频、手机、电脑、音箱等等)
final int majorDeviceClass = bluetoothClass.getMajorDeviceClass();//具体的设备类型(例如音频设备又分为音箱、耳机、麦克风等等)
然后这样判断
if (deviceClass == BluetoothClass.Device.AUDIO_VIDEO_WEARABLE_HEADSET) {//音箱} else if (deviceClass == BluetoothClass.Device.AUDIO_VIDEO_MICROPHONE) {//麦克风} else if (deviceClass == BluetoothClass.Device.AUDIO_VIDEO_HEADPHONES) {//耳机} else if (majorDeviceClass == BluetoothClass.Device.Major.COMPUTER) {//电脑} else if (majorDeviceClass == BluetoothClass.Device.Major.PHONE) {//手机} else if (majorDeviceClass == BluetoothClass.Device.Major.HEALTH) {//健康类设备} else {//其它蓝牙设备}
下面是我总结了一下蓝牙设备的类型:
设备类型 |
deviceClass [十六进制] |
deviceClass [十进制] |
majorDeviceClass |
电脑 |
0x0100 |
256 |
公司电脑(260) |
手机 |
0x0200 |
512 |
华为手机 |
音箱 |
0x0400 |
1024 |
华为耳机/米兔音箱(1028)/SANSUI A38S(1028) |
本文参考资料:https://blog.csdn.net/weixin_34242819/article/details/92023989
如何判断蓝牙设备类型相关推荐
- Android蓝牙开发系列文章-蓝牙设备类型知多少?
在写<Android蓝牙开发系列文章-蓝牙音箱连接>时,计划细化出一篇讲解蓝牙设备类型的文章,现在它来了~ 阅读其他内容,可以点击<Android蓝牙开发系列文章-策划篇>,或 ...
- android判断蓝牙的连接情况
需求 android系统车机上的播放器,连接手机蓝牙播放音乐,有时候需要判断蓝牙是否已经连接,但是不想麻烦的去注册一个广播,希望通过同步的查询方法判断蓝牙是否已经和其他的设备连接. 方法一 通过Blu ...
- python使用蓝牙功能_python bluetooth蓝牙信息获取蓝牙设备类型的方法
python 获取蓝牙设备类型 扫描蓝牙设备获取到的信息中,无法判断扫描到的蓝牙设备属于什么类型的设备. 扫描蓝牙信息使用的是python 里面的bluetooth模块. 首先扫描出来的是这样的信息 ...
- ios判断当前设备类型
ios判断当前设备类型 代码如下: + (NSString*) deviceString { // 需要#import "sys/utsname.h" struct utsname ...
- Android 获取蓝牙设备类型
之前我们分析了如何获取已连接的蓝牙设备地址 http://blog.csdn.net/jasonwang18/article/details/61214431 本篇我们分析如何获取对应蓝牙设备的类型, ...
- python bluetooth蓝牙信息获取蓝牙设备类型
本篇文章主要介绍了python bluetooth蓝牙信息获取蓝牙设备类型的要领,对大家的学习或者工作具有一定的参考学习价值,感兴趣的小伙伴们可以参考一下. python 获取蓝牙设备类型 扫描蓝牙设 ...
- 判断蓝牙是否打开并打开蓝牙
判断蓝牙是否打开并打开蓝牙 1.简单布局 <?xml version="1.0" encoding="utf-8"?> <RelativeLa ...
- Bluetooth--蓝牙开发扫描设备,及蓝牙设备类型
请先阅读: http://blog.csdn.net/angcyo/article/details/52035894 1:AndroidManifest.xml注册蓝牙扫描广播 注意蓝牙的权限. &l ...
- 更优雅地判断iOS设备类型
随着iPhoneX的发布,导航栏高度在iPhone中也不再是一个64的常量了. 因此,很多地方需要针对齐刘海的导航栏高度做适配,目前网上很多关于判断是否为iPhoneX,使用了屏幕宽高来比较或者uts ...
最新文章
- 你应该学会的接口调试神器——Postman高级用法
- Mysql学习总结(67)——MYSQL慢查询日志
- mysql的load data,高速将文本文件,插入数据库中
- Flutter实战之Hello Flutter
- AI系统可以自动生成逼真的人工星系图像
- 手把手教你VMware14虚拟机安装教程「图文附软件」
- 上百所大学计算机考研有变化!22计算机考研太难了!
- 声艺数字调音台si说明书32路_Soundcraft 声艺 Si Impact 数字调音台 32路数字调音台...
- What is Dymola?---Dymola的特点和架构
- 笔记本独立显卡geforce gtx 1050ti 388.71版本驱动
- Docker 基础之Dockerfile命令详解
- Javaweb支付宝支付
- CTFshow - 七夕杯复现
- 服务器虚拟化太金苹果效果好,《我的世界》金苹果更新速度太快,如今附魔金苹果“可遇不可求”...
- 手把手教你:图像识别的垃圾分类系统
- 【第01题】A + B | 基础输入输出,开启学习C语言打卡的序章
- Centos7 jdk8,Tomcat9的安装与配置
- 可怕的大学,到底有多少人在校园里浪费青春
- 虚拟局域网软件开源_老牌沙盒虚拟软件免费开源,可以不用虚拟机了
- 在VMware中安装虚拟机Windows server 2008
热门文章
- 狗年已到,今天送3万元红包,本文有4个答案
- MyBatis知识汇总(第四篇)分页:LIMT(SQL方式),RowBounds(Java对象方式)
- EDK2开发中error C2220: 警告被视为错误 - 没有生成“object”文件的解决方法!
- 寒门如何出贵子(摘抄)
- 独木带你玩转彩屏——应用1驱动彩屏(寄存器spi版)
- mysql消息已读未读_Redis实现信息已读未读状态提示
- 猿创征文 |【算法入门必刷】数据结构-栈(三)
- Linux使用详解(进阶篇)
- PHP开发h5棋牌源码curl用法
- 使用rsync实现文件同步