我们在开发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

如何判断蓝牙设备类型相关推荐

  1. Android蓝牙开发系列文章-蓝牙设备类型知多少?

    在写<Android蓝牙开发系列文章-蓝牙音箱连接>时,计划细化出一篇讲解蓝牙设备类型的文章,现在它来了~ 阅读其他内容,可以点击<Android蓝牙开发系列文章-策划篇>,或 ...

  2. android判断蓝牙的连接情况

    需求 android系统车机上的播放器,连接手机蓝牙播放音乐,有时候需要判断蓝牙是否已经连接,但是不想麻烦的去注册一个广播,希望通过同步的查询方法判断蓝牙是否已经和其他的设备连接. 方法一 通过Blu ...

  3. python使用蓝牙功能_python bluetooth蓝牙信息获取蓝牙设备类型的方法

    python 获取蓝牙设备类型 扫描蓝牙设备获取到的信息中,无法判断扫描到的蓝牙设备属于什么类型的设备. 扫描蓝牙信息使用的是python 里面的bluetooth模块. 首先扫描出来的是这样的信息 ...

  4. ios判断当前设备类型

    ios判断当前设备类型 代码如下: + (NSString*) deviceString { // 需要#import "sys/utsname.h" struct utsname ...

  5. Android 获取蓝牙设备类型

    之前我们分析了如何获取已连接的蓝牙设备地址 http://blog.csdn.net/jasonwang18/article/details/61214431 本篇我们分析如何获取对应蓝牙设备的类型, ...

  6. python bluetooth蓝牙信息获取蓝牙设备类型

    本篇文章主要介绍了python bluetooth蓝牙信息获取蓝牙设备类型的要领,对大家的学习或者工作具有一定的参考学习价值,感兴趣的小伙伴们可以参考一下. python 获取蓝牙设备类型 扫描蓝牙设 ...

  7. 判断蓝牙是否打开并打开蓝牙

    判断蓝牙是否打开并打开蓝牙 1.简单布局 <?xml version="1.0" encoding="utf-8"?> <RelativeLa ...

  8. Bluetooth--蓝牙开发扫描设备,及蓝牙设备类型

    请先阅读: http://blog.csdn.net/angcyo/article/details/52035894 1:AndroidManifest.xml注册蓝牙扫描广播 注意蓝牙的权限. &l ...

  9. 更优雅地判断iOS设备类型

    随着iPhoneX的发布,导航栏高度在iPhone中也不再是一个64的常量了. 因此,很多地方需要针对齐刘海的导航栏高度做适配,目前网上很多关于判断是否为iPhoneX,使用了屏幕宽高来比较或者uts ...

最新文章

  1. 你应该学会的接口调试神器——Postman高级用法
  2. Mysql学习总结(67)——MYSQL慢查询日志
  3. mysql的load data,高速将文本文件,插入数据库中
  4. Flutter实战之Hello Flutter
  5. AI系统可以自动生成逼真的人工星系图像
  6. 手把手教你VMware14虚拟机安装教程「图文附软件」
  7. 上百所大学计算机考研有变化!22计算机考研太难了!
  8. 声艺数字调音台si说明书32路_Soundcraft 声艺 Si Impact 数字调音台 32路数字调音台...
  9. What is Dymola?---Dymola的特点和架构
  10. 笔记本独立显卡geforce gtx 1050ti 388.71版本驱动
  11. Docker 基础之Dockerfile命令详解
  12. Javaweb支付宝支付
  13. CTFshow - 七夕杯复现
  14. 服务器虚拟化太金苹果效果好,《我的世界》金苹果更新速度太快,如今附魔金苹果“可遇不可求”...
  15. 手把手教你:图像识别的垃圾分类系统
  16. 【第01题】A + B | 基础输入输出,开启学习C语言打卡的序章
  17. Centos7 jdk8,Tomcat9的安装与配置
  18. 可怕的大学,到底有多少人在校园里浪费青春
  19. 虚拟局域网软件开源_老牌沙盒虚拟软件免费开源,可以不用虚拟机了
  20. 在VMware中安装虚拟机Windows server 2008

热门文章

  1. 狗年已到,今天送3万元红包,本文有4个答案
  2. MyBatis知识汇总(第四篇)分页:LIMT(SQL方式),RowBounds(Java对象方式)
  3. EDK2开发中error C2220: 警告被视为错误 - 没有生成“object”文件的解决方法!
  4. 寒门如何出贵子(摘抄)
  5. 独木带你玩转彩屏——应用1驱动彩屏(寄存器spi版)
  6. mysql消息已读未读_Redis实现信息已读未读状态提示
  7. 猿创征文 |【算法入门必刷】数据结构-栈(三)
  8. Linux使用详解(进阶篇)
  9. PHP开发h5棋牌源码curl用法
  10. 使用rsync实现文件同步