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