Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Cross-Platform-Entwicklung (https://www.delphipraxis.net/91-cross-platform-entwicklung/)
-   -   Wie verhindere ich, dass ein Iphone ein Bluetooth-Gerät als Eingabegerät verwendet? (https://www.delphipraxis.net/200206-wie-verhindere-ich-dass-ein-iphone-ein-bluetooth-geraet-als-eingabegeraet-verwendet.html)

AuronTLG 28. Mär 2019 14:37

Wie verhindere ich, dass ein Iphone ein Bluetooth-Gerät als Eingabegerät verwendet?
 
Moin,

ich hoffe, dieses Problem ist nicht zu exotisch, aber ich das folgende Problem:

Wenn ich mein IPhone X mit einem Leica Disto X3 Lasermessgerät verbinde, so wird dieser anscheinend als Hardware-Tastatur behandelt, d.h. er verhindert, dass die virtuelle Tastatur aufgerufen wird.
Das ist äußerst ungünstig, da ich in meinen Apps will, dass man mit dem Laser messen kann, aber gleichzeitig auch die Tastatur aufgeht, wenn man in ein Edit tippt o.Ä.
Dass der Laser als Hardwaretastatur fungiert ist komplett überflüssig und unerwünscht, da ich die gemessenen Werte ganz normal über die Bluetooth-Services hole, genau dann, wenn sie gebraucht werden.

Dieses Problem tritt nur mit den neueren Disto X3/X4 Lasern auf. Auf Android lässt sich das Problem ganz einfach beheben, da man dort in den Bluetooth-Einstellungen beim verbundenen Gerät ein Häkchen dafür setzen oder nicht setzen kann, ob dieses Gerät als Eingabegerät verwendet werden soll. Ist das Häkchen nicht gesetzt, so verhält sich alles genau so, wie ich es will.
Auf IOS scheint dies aber nicht möglich zu sein, da es keine Einstellung dafür gibt. Ist der Laser gekoppelt, so ist die Tastatur blockiert.

Ich habe das Internet durchforstet, gesehen, dass andere Leute sich auch über so etwas oder Ähnliches beschwert haben, aber leider keine Lösung gefunden.

Wenn irgendjemand weiß, wie man diesen Mist ausschalten oder umgehen kann, wäre ich sehr dankbar.

Rollo62 28. Mär 2019 14:56

AW: Wie verhindere ich, dass ein Iphone ein Bluetooth-Gerät als Eingabegerät verwende
 
Ich habe Ähnliches bei einem anderen Gerät gesehen.

Es scheint so wenn ein Gerät nur die Tastatur als GATT-Servuce anbietet,
das jeweilige OS dieses direkt abfängt und vor deiner App einbindet.
Ich habe auch keinen Weg gefunden das zu umgehen.

Eigentlich hätte ich gehofft das der Hersteller einen 2ten Service anbietet, für normale Kommunikation.
Das wollte er aber nicht einbauen.

Ich denke aber das Leica sowas hat, arbeitet das Gerät denn mit deren Apps zusammen ?
Dann wird es auch einen Weg geben.

hoika 29. Mär 2019 06:28

AW: Wie verhindere ich, dass ein Iphone ein Bluetooth-Gerät als Eingabegerät verwende
 
Hallo,
aus der Werbung
https://www.glasstec.de/vis-content/...zhb9zu0ubg.pdf

Set your Leica DISTO™ D810 touch to keyboard mode

Das müsste also ausschaltbar sein.

Rollo62 29. Mär 2019 11:57

AW: Wie verhindere ich, dass ein Iphone ein Bluetooth-Gerät als Eingabegerät verwende
 
Aha, das macht Sinn.
Hast Du mal den Service kontaktiert ?

AuronTLG 9. Apr 2019 14:31

AW: Wie verhindere ich, dass ein Iphone ein Bluetooth-Gerät als Eingabegerät verwende
 
So, Nachtrag:

Der Trick liegt darin, dass der Laser nicht mit dem Iphone gekoppelt sein darf, auch dann nicht, wenn die Verbindung hergestellt wird. D.h. einfach beim Verbinden die Kopplung ablehnen reicht bereits aus.
Die Kopplung ist nicht notwendig, um über die Services die gemessenen Werte abzufragen, im Gegenteil, die Kopplung sorgt eben genau dafür, dass der Laser sich als Eingabegerät aufspielt und unter Anderem die normale virtuelle Tastatur sperrt.

Ohne Kopplung funktioniert alles genau so, wie es soll.

TurboMagic 9. Apr 2019 20:35

AW: Wie verhindere ich, dass ein Iphone ein Bluetooth-Gerät als Eingabegerät verwende
 
Danke für den Nachtrag!

Rollo62 11. Apr 2019 11:11

AW: Wie verhindere ich, dass ein Iphone ein Bluetooth-Gerät als Eingabegerät verwende
 
Dankesehr auch von mir.
Kommt ein Kopplungs- (Pairing-)dialog denn bei Leica automatisch, oder erst im BT-Gerätemenü ?

Das Erstere wäre ja blöd, weil dann jeder denkt man müsse erstmal ein Pairing machen.

AuronTLG 11. Apr 2019 11:54

AW: Wie verhindere ich, dass ein Iphone ein Bluetooth-Gerät als Eingabegerät verwende
 
Beim ersten mal muss die Kopplung durch irgendetwas angeleiert werden, wie z.B. eben meine App.
Danach krallt sich der X3 das Smartphone automatisch immer wieder, wenn man die Kopplung nicht selbst wieder auflöst.

Genau das war bei mir eben das Problem, da meine App standardmäßig natürlich eine Kopplung durchführt, weil das bei vielen Lasern einfach Pflicht ist und generell keine Probleme macht. D.h. beim Verbinden kam der Kopplungsversuch, für den IOS automatisch eine Nachricht erzeugt, ob man das möchte oder nicht.
Die Lösung war daher für den X3, diesen Kopplungsversuch einfach abzulehnen. Die Verbindung steht danach trotzdem und die Messwerte werden ganz normal über die Services ausgelesen.

Dasselbe Problem hatte ich wie schon erwähnt auch auf Android, nur da kann man in den Bluetootheinstellungen des verbundenen Gerätes an- oder abhaken, ob dieses als Eingabegerät fungieren soll.
Hat man das abgehakt, funktioniert alles ganz normal, ohne dass die Tastatur blockiert wird etc.
Diese Einstellung gibt es auf IOS aber nicht.

Da das Ablehnen eines Kopplungsversuches natürlich unintuitiv ist, werde ich mir nun eventuell überlegen, ob ich diesen speziell für den X3 & X4 im Code unterbinde.

Rollo62 11. Apr 2019 14:45

AW: Wie verhindere ich, dass ein Iphone ein Bluetooth-Gerät als Eingabegerät verwende
 
Das ist aber seltsam, so eine Kopplungsmeldung habe ich noch nicht gesehen.

Es gibt ja zwei Sorten TBluetooth Komponenten z.B. TBluetoothDevice (Classic) und TBluetoothLEDevice (LE).
Ich dachte dass nur die Classic-Versionen (ohne "LE") das Pairing steuern würden,
und die "LE"-Versionen das eben nicht fordern oder können.

Könnte es sein das Du nicht die "LE"-Verison benutzt (falls das überhaupt mit LE geht) ?

TurboMagic 11. Apr 2019 19:55

AW: Wie verhindere ich, dass ein Iphone ein Bluetooth-Gerät als Eingabegerät verwende
 
Auch be LE gibt's eine Art Kopplung.


Alle Zeitangaben in WEZ +1. Es ist jetzt 16:19 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