1

我正在尝试使用 Cordova 的 BluetoothLowEnergy 插件来扫描附近的 iBeacons。我已经尝试过cordova-plugin-eddystone

evothings.eddystone.startScan(successCallback, errorCallback)

蓝牙LE

bluetoothle.startScan(_successCallback, errorCallback, {allowDuplicates: true});

但是我不能让扫描在后台工作。我使用 Xcode 在 .plist 中启用了后台功能,指定应用程序使用 BLE 传感器。此外,我使用de.appplant.cordova.plugin.background-mode插件,在 deviceReady 事件之后执行函数:

cordova.plugins.backgroundMode.enable();

然而,扫描只是在进入后台模式时暂停。无论。有没有替代方法?eddystone 插件中是否禁用了后台模式?谢谢

4

1 回答 1

0

据我所见,该de.appplant.cordova.plugin.background-mode插件使用音频背景模式来保持应用程序在后台运行,因此您需要启用该模式。

请记住,正如该插件的 README 文件中所述,这不符合 App Store 标准,您的应用将无法通过审核流程。基本上,如果您正在构建音频应用程序,则只能使用音频背景模式,即使那样,您也应该(必须?)仅将其用于在后台播放音频,而不是用于扫描信标。

此外,您还没有提到您使用的是哪个 Eddystone 插件。您是否验证过它实际上能够在后台运行?能够在后台检测蓝牙设备需要一些特殊的考虑,所以可能只是插件不支持它。如果您确认它确实支持它,最好向插件作者本人进一步询问。

于 2015-10-21T10:28:43.200 回答