当前位置: 首页 > 面试题库 >

如何检查配对的蓝牙设备是打印机还是扫描仪(Android)

容远
2023-03-14
问题内容

我希望能在开发一个Android应用程序时对我有所帮助,该应用程序需要连接蓝牙设备(例如扫描仪和打印机),目前我可以列出所有配对的设备,但是我想知道配对的设备是否是打印机,扫描仪,移动设备等

有某种方法可以知道配对的蓝牙设备的种类?


问题答案:

简而言之,

是的你可以。您可以通过使用设备的UUID来执行此操作。如果您知道设备的UUID,则可以从报告的UUID中将它们匹配,并知道哪个配对的设备是什么。

像这样:

BluetoothAdapter adapter = BluetoothAdapter.getDefaultAdapter();

Method getUuidsMethod = BluetoothAdapter.class.getDeclaredMethod("getUuids", null);

ParcelUuid[] uuids = (ParcelUuid[]) getUuidsMethod.invoke(adapter, null);

现在,只需将检索到的UUID与已知的UUID(在线或盒装)进行比较即可。

如果它们匹配,您就知道它是什么设备。

注意: 最常见的UUID(扫描仪,打印机,鼠标)具有通用UUID0001101-0000-1000-8000-00805F9B34FB

阅读有关getUUID()方法,paracable方法,Method
java类以及最后Java.util.UUID的信息。



 类似资料:
  • 我正在创建一个蓝牙扫描仪应用程序,并试图找到可用的设备配对。我有一个蓝牙耳机,我正试图找到运行android 10应用程序。 权限在清单中设置 应用程序包含一个简单的按钮,点击它我开始发现蓝牙设备 用于发现的回调 如果我错过了什么,有人能帮我吗?

  • 开启蓝牙扫描 参数说明 字段 类型 必须? 说明 blePrefix String 是 设备名称类型前缀 示例代码 Swift: RokidMobileSDK.binder.startBLEScan(blePrefix: String) ->Bool Objc: [RokidMobileSDK.binder startBLEScanWithBlePrefix:@"Rokid-"]; 手机蓝牙未打

  • 扫描设备 介绍 需要传入扫描蓝牙设备的名称的前缀,回调均在主线程。如果传空,是无法获取设备列表。 1、单前缀蓝牙设备 参数说明 字段 类型 必须? 说明 type String 是 设备名称类型前缀 举个大栗子 String type = "Rokid-" RokidMobileSDK.binder.startBTScan(type, new IBTScanCallBack() { @Ov

  • 我制作了一个android应用程序来扫描蓝牙设备,并向我的服务器发送一个HTTP请求,这样我就可以检测它们是开着还是关着。我已经用我的带有蓝牙适配器的台式电脑测试过了,效果很好。当检测到电脑上的蓝牙功能时,它显示电脑是打开的,当我关闭电脑上的蓝牙功能时,它是关闭的。现在,我需要使用这个应用程序的设备有:雅伯投影仪、Bose SoundLink和JBL耳机,但我遇到了一些问题。 首先,投影仪似乎无法

  • 我正在尝试使用基于处理的android应用程序扫描蓝牙设备。我想使用处理通过蓝牙与我的微控制器板通信,如下例所示: http://webdelcire.com/wordpress/archives/1045 我成功地在我的android平板电脑上启动了这个应用程序。但是,我无法在平板电脑上列出蓝牙设备。我的平板电脑识别的唯一蓝牙设备是我电脑上的蓝牙适配器。为什么我不能列出所有蓝牙设备?我的电脑能够

  • 我试图用BLE API扫描附近的蓝牙设备,但它似乎不起作用 我已经在清单中添加了权限 以下内容在创建对象时 创建扫描仪回调对象并进一步扫描 在logcat中,我只看到以下内容 这是我的app build gradle } 有人能指出我在这里遗漏了什么吗?