Controllare se è disponiblie il Bluetooth Classic/LE sul tuo dispositivo android con Delphi
Dalla versione XE7 di Delphi sono disponibili i componenti per gestire Bluetooth Classico e LE. Con Firemonkey è abbastanza semplice creare anche un server bluetooth. Provando le mie applicazioni sul Raspberry PI3 dove Federico ha montato Marshmallow mi son accorto che se il BT non è disponibile sul device l’applicazione si schiantava.
Per ovviare a questa problematica ho cercato delle API Java che mi permettessero di verificare se effettivamente era disponibile il BT sul device ed è stato molto più semplice di quello che credessi.
Tramite la libreria Androidapi.Helpers è possibile testare se qualsiasi feature/periferica è disponibile sul device in uso tramite il comando .
“SharedActivityContext.getPackageManager().hasSystemFeature(StringToJString(‘
L’elenco delle periferiche testabili è disponibile sulla documentazione di Google all’indirizzo : http://developer.android.com/reference/android/content/pm/PackageManager.html#FEATURE_BLUETOOTH
1 2 3 4 5 6 7 8 9 10 11 |
uses Androidapi.Helpers; function isBlueToothSupported : Boolean; Begin {$IFDEF ANDROID} // Result := SharedActivityContext.getPackageManager().hasSystemFeature(StringToJString('FEATURE_BLUETOOTH')); Result := SharedActivityContext.getPackageManager().hasSystemFeature(StringToJString('android.hardware.bluetooth')); {$ELSE} Result := True; {$ENDIF} End; |