0
我正在玩Android和iOS的实验性Bluetooth LE
程序,现在我在iOS端发送Android端过滤信标广告时遇到了一些麻烦。 Android有一个功能,可以通过UUID过滤广告(我需要这个功能,因为我试图获得以特定值开头的UUID),但是我无法使其工作。这就是我想要的:Android蓝牙LE屏蔽UUID过滤器
private void freshen() {
// kill current scanner
if (mLEScanner != null)
mLEScanner.stopScan(mScanCallback);
// set new one to be a match scanner
ScanSettings settings = new ScanSettings.Builder()
.setScanMode(ScanSettings.SCAN_MODE_LOW_LATENCY)
.build();
List<ScanFilter> filters = new ArrayList<>();
// create data uuid starting with the value 1
ParcelUuid data = ParcelUuid.fromString("10000000-0000-0000-0000-000000000000");
// create a mask to ensure only that value is searched
ParcelUuid mask = ParcelUuid.fromString("10000000-0000-0000-0000-000000000000");
// build the filter
ScanFilter.Builder builder = new ScanFilter.Builder();
builder.setServiceUuid(data, mask);
ScanFilter filter = builder.build();
// add the filter to the scanner
filters.add(filter);
mLEScanner.startScan(filters, settings, mScanCallback);
}
它正在产生零结果。即使我将所有掩码值设置为0(这是忽略的数字),它仍然会产生零结果。当我删除过滤器时,会出现大量以1开头的结果。这在Android的当前版本中打破了吗?