在打ze /应用待机模式下,Android 8无法及时发送蓝牙事件

时间:2018-06-20 11:11:59

标签: android cordova ionic-framework bluetooth

我正在尝试使用Ionic v1和Cordova创建一个应用程序,其目的是保持与蓝牙LE设备的连接,并在断开连接时通知用户(以及尝试重新连接等)。我正在使用此处找到的蓝牙插件:https://github.com/randdusing/ng-cordova-bluetoothle

但是,在Android 8.0上进行测试时,我发现该操作系统在断开连接时不会以及时的方式触发适当的回调(它似乎要等到下一个OS维护窗口,如此处所述:{{3 }})时,设备处于打ze / App待机模式。请参见下面的示例:

$cordovaBluetoothLE.connect({
    address: address,
    timeout: timeout
}).then(
    null, // there is no "resolve" callback, this promise uses the "notify" callback on connection state change instead
    function(e) {
        return onConnectError(e);
    }, 
    function(result) { // this does not happen in a timely way when device is dozing
        if(result.status === "connected") {
            onConnected(result);
        } else {
            onDisconnected(result);
        }
    }
);

我已经尝试了以下操作(在运行Android 8.0的Moto G6上):

那么,当蓝牙断开连接时,我们如何让Android 8尽快通知我们?

0 个答案:

没有答案