AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Cross-Platform-Entwicklung Delphi Problem mit Classis Bluetooth bei Android 4.3/4.4

Problem mit Classis Bluetooth bei Android 4.3/4.4

Ein Thema von LabRat · begonnen am 31. Jul 2018 · letzter Beitrag vom 1. Aug 2018
Antwort Antwort
LabRat

Registriert seit: 8. Jan 2014
Ort: Mainz
8 Beiträge
 
Delphi 10.4 Sydney
 
#1

Problem mit Classis Bluetooth bei Android 4.3/4.4

  Alt 31. Jul 2018, 14:19
Hallo zusammen,

ich habe meine Android-App, die ich zunächst unter Berlin (10.1.2) entwickelt habe, auf Tokyo (10.2.3) portiert.
Das hat grundsätzlich gut funktioniert. Aber : Die App hat unter anderem eine Funktion, mit der Daten per Classic Bluetooth von einem Messgerät abgerufen werden.
Ich habe dann festgestellt, dass die Bluetooth - Anbindung (BL Classic) unter Android 4.3 und 4.4 nicht mehr funktioniert.
Der Fehler stellt sich wie folgt dar :
Der Connect auf das Messgerät funktioniert. Aber sobald unter den genannten Betriebssystemen ein Zeichen übertragen wird, gibt es eine Exception.
Es wird ein Segmentation Fault (11) ausgegeben.

Ich verwende für die Verbindung einen TBluetoothSocket, der mit CreateClientsocket erzeugt wird. Nach dem Connect werden die Daten in einem Thread mittels TBluetoothSocket.RceiveData abgerufen.

Beim Debuggen zeigt sich, dass die Exception in der Unit System.Android.Bluetooth auftritt und zwar in der procedure TAndroidBluetoothSocket.TBluetoothSocketReader.Get BufferedData.

Das Problem tritt nicht auf bei Android 6 und Android 7. Es tritt nur bei meinen Android 4.3 u. Android 4.4 - Smartphones auf.
Ich habe derzeit kein Gerät mit Android 5 zur Verfügung, kann also zu dieser Version nichts sagen.

Was noch wichtig ist : Wenn ich die App mit Delphi Berlin (10.1.2) erzeuge, dann funktioniert die Übertragung mit allen Betriebssystemversionen fehlerfrei. Gemäß der Dokumentation zu Tokyo sollte eigentlich Android 4.3 und 4.4 weiter unterstützt werden.

Kennt jemand das Problem bzw. kann mir da jemand weiterhelfen ?

Vielen Dank

LabRat - die Laborratte
  Mit Zitat antworten Zitat
AuronTLG

Registriert seit: 2. Mai 2018
Ort: Marburg
239 Beiträge
 
Delphi 12 Athens
 
#2

AW: Problem mit Classis Bluetooth bei Android 4.3/4.4

  Alt 31. Jul 2018, 16:17
Hi,

ich meine fast, ich hätte letztens denselben Fehler gehabt, und ich nehme mal an, du arbeitest beim Datenabruf mit Threads...
Ich hatte mein Programm so gebaut gehabt, dass der Socket im Hauptthread kreiert sowie connected wird, und danach an den Thread übergeben wird, der sich um den Datenaustausch kümmert.

Dies hat bei mir ebenfalls beim ReceiveData geknallt, ich weiß nicht mehr, ob es diesselbe Stelle wie bei dir war, aber jedenfalls auch tief im System.Android.Bluetooth, also könnte hinkommen.

Die Lösung war für mich, den BluetoothSocket erst im Datenaustausch-Thread selbst zu erzeugen und zu connecten.
  Mit Zitat antworten Zitat
LabRat

Registriert seit: 8. Jan 2014
Ort: Mainz
8 Beiträge
 
Delphi 10.4 Sydney
 
#3

AW: Problem mit Classis Bluetooth bei Android 4.3/4.4

  Alt 31. Jul 2018, 18:55
Hi,

ja genau, ich gehe so vor, wie von Dir beschrieben.

Ich werde das mal morgen ausprobieren.
Danke schon mal für den Hinweis.
Gruß
LabRat
  Mit Zitat antworten Zitat
LabRat

Registriert seit: 8. Jan 2014
Ort: Mainz
8 Beiträge
 
Delphi 10.4 Sydney
 
#4

AW: Problem mit Classis Bluetooth bei Android 4.3/4.4

  Alt 1. Aug 2018, 10:55
Hi AuronTLG,

super, genau das war die Lösung. Ich hatte zwar den Connect bereits im Thread drin,
denn der würde ja den Hauptthread blockieren, aber den BluetoothSocket habe ich mir
im Hauptthread gezogen. Das habe ich jetzt einfach nur in den abrufenden Thread verlegt
und für Android 4.x funktioniert alles nun, wie für die anderen Betriebssystemversionen auch.

Vielen Dank noch einmal und viele Grüße

LabRat -- die Laborratte
  Mit Zitat antworten Zitat
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 07:30 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz