2016-06-14 7 views
0

Ich habe eine funktionierende BLE Scan-App, die für die letzten paar Monate auf Nexus 5 (auf verschiedenen API-Versionen von 4.4 bis 6.0) gut funktioniert hat. Heute haben wir die App auf einem anderen Gerät "Huawei Ascend Mate2" laufen lassen, das API 22 hat und gefunden, was ich für ein interessantes oder eigenartiges Verhalten hielt: Callback wird kontinuierlich ausgelöst (ungefähr dreimal pro Sekunde), aber mein iBeacon wird nur in einem Callback erkannt in den restlichen Rückrufen wählt es andere Geräte im Haus aus (wie Netgear Router und Roku etc; Ich weiß nicht, ob diese Netgear und Rouku sind sogar BLE-Geräte). Mein BLE Scan-Code ist sehr ähnlich dem hier beschriebenen http://www.truiton.com/2015/04/android-bluetooth-low-energy-ble-example/BLE Scannen: Rückruf wird nur einmal auf "Huawei Ascend Mate2 Phone"

Dieser Thread Android 4.4 BLE Scanning lack of stability schlägt vor, dass BLE Scannen auf 5.0+, aber in meinem Fall stabil ist, das nicht wahr ist, weil ich auf API am 22

Dieser Thread Android BLE Beacon scanning on different phone models schlägt vor, dass wir alle 1,5 Sekunden den Scan einschalten und ausschalten müssen, und das ist in unserem Anwendungsfall nicht praktikabel, weil unsere App jeden Tag 10 Stunden laufen sollte (wir denken, dass das Starten/Stoppen von Systemressourcen teuer ist)

Ich bin verwirrt, warum das gleiche sein acon wird in kontinuierlichen Rückrufen auf Nexus 5 erkannt (getestet sowohl mit 4.4 als auch mit 6.0 Android APIs); aber wenn auf "Huawei Ascend Mate2" ausgeführt wird, obwohl der Rückruf kontinuierlich aufgerufen wird, wird derselbe iBeacon nur einmal erkannt, während andere Nicht-BLE-Geräte in nachfolgenden Rückrufen erkannt werden.

Dies ist das erste Mal, dass ich außerhalb von Nexus getestet habe. Hat jemand den BLE-Scan auf "Huawei Ascend Mate2" getestet? Alle Beobachtungen und Kommentare wären willkommen.

„Huawei Ascend Mate2“: Gerätemodellnummer ist MT2L03 und Android-Version ist 5.1

Antwort

0

ich mit vielen verschiedenen Geräten gearbeitet, und ich kann Ihnen sagen, dass das Verhalten auf verschiedenen Geräten sehr unterschiedlich ist. Ich habe kein Huawei Mate2, aber ich könnte ähnliches Verhalten beobachten, wo Sie nur einmal ein Scan-Ergebnis pro Gerät bekommen. Wenn Sie mehrere Scan-Ergebnisse für dasselbe Gerät benötigen, müssen Sie den Scan von Zeit zu Zeit neu starten. Ich denke 1,5s ist ein bisschen zu viel, aber das hängt von Ihrem Anwendungsfall ab.

Verwandte Themen