Android Bluetooth LE Masked UUID Filter
<p>I am playing around with an experimental <code>Bluetooth LE</code> program for Android and iOS, and right now I am having some trouble on the Android side filtering beacon advertisements sent out by the iOS side. Android has a feature to filter advertisements by UUID with a mask (I need this as I am trying to get UUIDs beginning with a specific value) but I can't get it to work. Here's what I am trying:</p>

<pre><code>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&lt;ScanFilter&gt; filters = new ArrayList&lt;&gt;();

    // 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);
}
</code></pre>

<p>It is producing zero results. Even if I set all mask values to 0 (which is the number for ignore) it still produces zero results. When I remove the filter, plenty of results beginning with 1 appear. Is this broken in the current version of Android?</p>