Android Bluetooth LE Masqués UUID Filtre
Je joue avec un expérimentales Bluetooth LE
programme pour Android et iOS, et maintenant je vais avoir quelques problèmes sur Android filtrage côté balise publicités envoyées par l'iOS côté. Android possède une fonction de filtre des annonces par les UUID avec un masque (j'ai besoin de ce que je suis en train d'essayer d'obtenir des Uuid début avec une valeur spécifique), mais je ne peux pas le faire fonctionner. Voici ce que je suis en train d'essayer:
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);
}
Il est en train de produire des résultats nuls. Même si j'ai mis toutes les valeurs de masque à 0 (qui est le numéro de l'ignorer), il produit toujours des résultats nuls. Quand j'ai enlever le filtre, beaucoup de résultats en commençant par le 1 apparaît. Est-ce cassée dans la version actuelle d'Android?
Vous devez vous connecter pour publier un commentaire.
Ce n'est pas un correctif pour ce problème, mais j'ai décidé de filtrer par le nom de périphérique au lieu de cela, comme cela peut être peuplé à la fois Android et iOS côtés. Droit maintenant, je me concentre sur iOS et Android de communication =>
iOS:
Et le plus important le Android la méthode d'analyse, qui ignore désormais les messages en double à partir de iOS par toujours à la recherche pour le prochain message par le nom de périphérique:
J'ai besoin d'obtenir l'iOS côté de filtrer Android réponses mieux maintenant, mais il est efficace sur l'Android côté de réception.