我正在尝试使用Cordova的BluetoothLowEnergy插件扫描附近的iBeacons。我试过了cordova-plugin-eddystone
evothings.eddystone.startScan(successCallback, errorCallback)
bluetoothle.startScan(_successCallback, errorCallback, {allowDuplicates: true});
但是我无法使扫描在后台运行。
我使用Xcode在.plist中启用了后台功能,指定该应用程序使用BLE传感器。
此外,我使用de.appplant.cordova.plugin.background-mode
插件,在deviceReady事件后执行函数:
cordova.plugins.backgroundMode.enable();
然而,在进入后台模式时扫描暂停。无论。还有其他方法吗?是否在eddystone插件中禁用了后台模式? 谢谢
答案 0 :(得分:0)
从我所看到的情况来看,de.appplant.cordova.plugin.background-mode
插件使用音频后台模式让应用在后台运行,因此您需要启用该应用。
请注意,正如此插件的README文件中所述,这不符合App Store,您的应用将无法通过审核流程。基本上,如果您正在构建音频应用程序,则只能使用音频背景模式,即使这样,您应该(必须?)仅用于在后台播放音频,而不是用于扫描信标。
另外,您还没有提到您正在使用的Eddystone插件。你确认它实际上能够在后台运行吗?能够在后台检测蓝牙设备需要一些特殊的考虑因素,因此可能只是插件不支持它。如果您确认确实支持它,那么最好再与插件的作者进行查询。