2017-09-16 4 views
1

J'utilise la bibliothèque BluetoothLE et je peux compiler pour Android sans problèmes et cela fonctionne mais le même code ne compile pas pour iOS. Je reçois ce qui suitcodenameone BluetoothLE startscan pas compiler sur iOS

[EDT] 0:0:0,52 - Exception: java.lang.RuntimeException - Not supported on this platform 
java.lang.RuntimeException: Not supported on this platform 
at com.codename1.cordova.Cordova.execute(Cordova.java:26) 
at com.codename1.bluetoothle.Bluetooth.startScan(Bluetooth.java:110)" 

Si je commente ma ligne startscan, l'application se compilera. Les lignes incriminées sont ci-dessous.

bt.startScan(new ActionListener() 
{ 
@Override 
public void actionPerformed(ActionEvent evt) 
{ 
bt_ScanDeviceFound(evt); 
} 
}, 
null, 
false, 
Bluetooth.SCAN_MODE_LOW_POWER, 
Bluetooth.MATCH_MODE_STICKY, 
Bluetooth.MATCH_NUM_MAX_ADVERTISEMENT, 
Bluetooth.CALLBACK_TYPE_ALL_MATCHES); 

Le original code dont la BluetoothLE était en forme de fourche, de randdusing, montre différents paramters pour iOS que Android. Peut-être que cela a quelque chose à voir avec ça?

Répondre

1

Le problème se produit si j'essaie d'exécuter le startscan avant l'initialisation complète de l'interface utilisateur. Cela ne provoque pas de problème sur les versions Android. J'ai donc déplacé l'appel à la fonction startscan après HomeForm.show();

0

Vous pouvez simplement attraper l'exception. Cela se produit car bluetooth n'est pas pris en charge par le processus de capture d'écran lors de la génération iOS. Vous pouvez en apprendre plus sur ce processus dans le developer guide.