Einzelnen Beitrag anzeigen

mensch72

Registriert seit: 6. Feb 2008
838 Beiträge
 
#6

AW: BluetoothLE Verhalten bei Wiederverbinden

  Alt 24. Jun 2015, 19:50
offene Fragen über Fragen?

welche Android Version (4.3.x / 4.4.x / 5.x.x) ?

welches Delphi (XE7/XE7.1/XE8/XE8.1) ?

"wo"/"wann" werden die einzelnen BLE Funktionen aufgerufen?

Ganz allgemein:
- Im Wenn möglich nur "OnEnd(Discovery)Events" benutzen, und im OnDiscover(Devices) besser keine weiteren BLE Funktionen aufrufen, "kurzen" Timer starten und im TimerEvent erst weitere BLE Funktionen verwenden. Emba. kapselt die Java/IOS Api noch sehr "variabel" in eigene Threads und/oder nutzt Zwischenschichten. Wenn es nicht auf 0.1sec ankommt, lieber eine sequenzielle State-Maschine bauen und jeden StateWechsel zusätzlich über ein einzelnes 100ms TimerEvent entkoppeln.
- besser vor einem neuem Suchen ein CancelDiscovery zuviel wie eines zu wenig
- bis Android 4.4. ist alles sehr Hersteller und geräteabhängig... z.B. Sony Android4.4.x ist allgemein sehr stabil, Huawei Android 4.4.x sehr empfindlich
- ab Android 5.0.1 ist BLE besser, aber leider von Delphi (noch) nicht direkt per Onboard-FMX unterstützt...
- wenn für gefundene Geräte(also nach DiscoverDevices) der (Re)Connect, also "DiscoverServices" nicht klappt, dann kann man da etwas mit dem Timing spielen... einmal möglichst schnell danach und einmal mit ~300ms Pause dazwischen

...stell doch einfach mal (d)ein TestProjekt hier rein
  Mit Zitat antworten Zitat