如何在android应用程序上设置扫描过滤器

如何在android应用程序上设置扫描过滤器,android,bluetooth,Android,Bluetooth,我正在构建一个应用程序,它应该可以连接一个可扩展设备 所以我想在扫描可用的BLE设备时设置一个过滤器 我知道我的地址是什么 9C:20:7B:CB:A6:22 因此,我尝试使用以下代码创建扫描过滤器: ScanFilter filter = new ScanFilter.Builder().setServiceUuid( ParcelUuid.fromString("9C:20:7B:CB:A6:22")).build(); 但如果我尝试启动应用程序,

我正在构建一个应用程序,它应该可以连接一个可扩展设备

所以我想在扫描可用的BLE设备时设置一个过滤器

我知道我的地址是什么

9C:20:7B:CB:A6:22
因此,我尝试使用以下代码创建扫描过滤器:

ScanFilter filter = new ScanFilter.Builder().setServiceUuid(
                    ParcelUuid.fromString("9C:20:7B:CB:A6:22")).build();
但如果我尝试启动应用程序,我会出现以下错误:

java.lang.RuntimeException: Unable to start activity ComponentInfo{com.eresult.diabesitycare.devicesensor/com.eresult.diabesitycare.devicesensor.BLEActivity}: java.lang.IllegalArgumentException: Invalid UUID: 9C:20:7B:CB:A6:22
BLE地址9C:20:7B:CB:A6:22与UUID不同。根据:

属性协议ATT-GATT是建立在属性协议ATT之上的。这也被称为GATT/ATT。ATT经过优化,可在BLE设备上运行。为此,它使用尽可能少的字节。每个属性都由通用唯一标识符UUID唯一标识,UUID是用于唯一标识信息的字符串ID的标准化128位格式。ATT传输的属性被格式化为特征和服务

因此,您的uuid应该是字符串ID的标准化128位格式,如0000110B-0000-1000-8000-00805F9B34FB

请先查看您的设备UUID