PhoneGap BLE插件无法在后台运行

时间:2015-10-20 17:16:14

标签: ios cordova phonegap-plugins eddystone

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

evothings.eddystone.startScan(successCallback, errorCallback)

BluetoothLE

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

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

cordova.plugins.backgroundMode.enable();

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

1 个答案:

答案 0 :(得分:0)

从我所看到的情况来看,de.appplant.cordova.plugin.background-mode插件使用音频后台模式让应用在后台运行,因此您需要启用该应用。

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

另外,您还没有提到您正在使用的Eddystone插件。你确认它实际上能够在后台运行吗?能够在后台检测蓝牙设备需要一些特殊的考虑因素,因此可能只是插件不支持它。如果您确认确实支持它,那么最好再与插件的作者进行查询。