codenameone BluetoothLE启动无法在iOS上编译

时间:2017-09-16 04:14:22

标签: codenameone

我正在使用BluetoothLE库,我可以为Android编译而没有任何问题,但它可以工作,但相同的代码不能为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)"

如果我注释掉我的startscan行,应用程序将编译。违规行在下面。

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

来自randdusing的BluetoothLE分叉的original code显示iOS的不同于Android的参数。也许它与此有关?

2 个答案:

答案 0 :(得分:1)

如果我在完全初始化UI之前尝试执行启动扫描,则会出现此问题。它不会导致Android版本出现问题。所以我在HomeForm.show();

之后将调用移到了startscan函数

答案 1 :(得分:0)

你可以抓住异常。这是因为在iOS构建期间,屏幕截图捕获过程不支持蓝牙。您可以在developer guide

中详细了解此过程