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
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;