AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Cross-Platform-Entwicklung TBluetoothLE: DiscoverServices() erkennt unter Android manchmal keine Services

TBluetoothLE: DiscoverServices() erkennt unter Android manchmal keine Services

Ein Thema von philipp.hofmann · begonnen am 15. Sep 2019 · letzter Beitrag vom 5. Apr 2020
Antwort Antwort
philipp.hofmann

Registriert seit: 21. Mär 2012
Ort: Hannover
927 Beiträge
 
Delphi 10.4 Sydney
 
#1

TBluetoothLE: DiscoverServices() erkennt unter Android manchmal keine Services

  Alt 15. Sep 2019, 17:49
Hi,

ich habe das Problem, dass
TBluetoothLE.DiscoverServices()
bei einem verbundenen Geräte keine Services erkennt. Ich kann die Suche auch wiederholen, das hilft leider nicht. Es scheint mir bisher nur unter Android ein Problem zu sein. Hat da jemand eine Idee?

Grüße, Philipp
  Mit Zitat antworten Zitat
TurboMagic

Registriert seit: 28. Feb 2016
Ort: Nordost Baden-Württemberg
3.048 Beiträge
 
Delphi 12 Athens
 
#2

AW: TBluetoothLE: DiscoverServices() erkennt unter Android manchmal keine Services

  Alt 15. Sep 2019, 19:07
Welche Delphi version? 10.3.0, 10.3.1 oder 10.3.2?
Welches Android?
Finden ggf. andere Apps die BLE können diesen Dienst?
Werden andere BLE Dienste von der Komponente gefunden?
  Mit Zitat antworten Zitat
philipp.hofmann

Registriert seit: 21. Mär 2012
Ort: Hannover
927 Beiträge
 
Delphi 10.4 Sydney
 
#3

AW: TBluetoothLE: DiscoverServices() erkennt unter Android manchmal keine Services

  Alt 15. Sep 2019, 21:27
Delphi 10.3.2, sowohl bei einem Samsung S4-Tab (Android 9.0, dort aber selten) als auch bei einem Amazon Fire HD 10 (basiert auf Android 5.1, dort passiert es häufiger).
Ich habe es jetzt auch mal mit dem BLE-Scanner-Projekt ausprobiert, um meine Fehler auszuschließen.

Dort kommt er in folgendem Aufruf für DiscoverServices mit false zurück und das deutlich schneller als die in der Android-BLE-Implementierung definierten 15 Sekunden:
TThread.CreateAnonymousThread(procedure begin
if not BluetoothLE1.DiscoveredDevices[ListBox1.ItemIndex].DiscoverServices then
TThread.Synchronize(nil, procedure begin
Listbox2.Items.Add('- Discover services not allow');
Listbox1.Enabled := True;
end);
end).Start;

Mal passiert es, mal nicht, jetzt bin ich gerade wieder im Modus, es funktioniert auf beiden Devices.
Ich kann keine Gesetzmässigkeit nach dem Motto Android-Device neu gestartet oder BLE-Device neu gestartet erkennen.
Sobald er es einmal geschafft hat, geht es auch reproduzierbar.

Ich habe jetzt mal log-Ausgaben dazugepackt, auch in die Android BLE-Implementierung (System.Android.Bluetooth.pas) um vielleicht besser zu verstehen, was da schief geht. Noch habe ich nicht so richtig die Idee, v.a. weil es nicht reproduzierbar ist, aber so oft schief geht, dass es dem Enduser nicht zumutbar ist.
  Mit Zitat antworten Zitat
knaeuel

Registriert seit: 2. Jul 2007
110 Beiträge
 
Delphi 10.3 Rio
 
#4

AW: TBluetoothLE: DiscoverServices() erkennt unter Android manchmal keine Services

  Alt 16. Sep 2019, 11:21
Möglicherweise ist das noch dasselbe Problem, wie mit 10.2 vor etwa einem Jahr. Für mich hats damals funktioniert, wenn ich einfach nur die BLE-Komponente einmal disabled hab.

in etwa so:
- BLE ist unsere TBluetoothLE-Komponente
Code:
BLE.enabled:=true
Geräte_suchen
if Gerät_gefunden then
begin
  Services_suchen
  if services_nicht_gefunden then
  begin
    BLE.Enabled:=false;
    und nochmal von vorn
  end
end
else
begin
  BLE.enabled:=false;
  und nochmal von vorn
end
vielleicht hilfts ja immer noch
Wolfgang
  Mit Zitat antworten Zitat
philipp.hofmann

Registriert seit: 21. Mär 2012
Ort: Hannover
927 Beiträge
 
Delphi 10.4 Sydney
 
#5

AW: TBluetoothLE: DiscoverServices() erkennt unter Android manchmal keine Services

  Alt 16. Sep 2019, 18:16
Danke, hört sich einfach an, probiere ich aus und poste dann das Ergebnis.
  Mit Zitat antworten Zitat
knaeuel

Registriert seit: 2. Jul 2007
110 Beiträge
 
Delphi 10.3 Rio
 
#6

AW: TBluetoothLE: DiscoverServices() erkennt unter Android manchmal keine Services

  Alt 26. Sep 2019, 14:42
Problem gelöst?
Wolfgang
  Mit Zitat antworten Zitat
Antwort Antwort

 
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 15:43 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz