Web蓝牙旁路配对屏幕

时间:2019-04-05 08:27:37

标签: bluetooth bluetooth-lowenergy web-bluetooth

BLE Peripheral Simulator appWeb Bluetooth Samples结合在一起,对于开发人员来说是巨大的资源。

设备配对后,是否可以通过Web蓝牙绕过配对屏幕并直接转到应用程序?

Pairing Screen

2 个答案:

答案 0 :(得分:0)

是的,这是可能的。 Code Source。不过不是我的代码。

// Selected device object cache
let deviceCache = null;

// Launch Bluetooth device chooser and connect to the selected
function connect() {
    return (deviceCache ? Promise.resolve(deviceCache) :
        requestBluetoothDevice())
        .then(device => connectDeviceAndCacheCharacteristic(device))
        .then(characteristic => startNotifications(characteristic))
        .catch(error => log(error));

function requestBluetoothDevice() {
    log('Requesting bluetooth device...');

    return navigator.bluetooth.requestDevice({
      filters: [{services: [myService]}],
    })
        .then(device => {
          log('"' + device.name + '" bluetooth device selected');
          deviceCache = device;

        // Listen for disconnet event
        deviceCache.addEventListener('gattserverdisconnected',
        handleDisconnection);

          return deviceCache;
        });
}

Also, there is a way of reconnecting after site refresh,但它是not implemented yet

答案 1 :(得分:0)

我最近实现了一个新的权限后端以及两个API,这些API将允许使用先前允许的蓝牙设备。

新权限后端在chrome:// flags /#enable-web-bluetooth-new-permissions-backend后面实现。新的后端将保留通过requestDevice()授予的设备权限,直到在“网站设置”或“页面信息”对话框中重置权限为止。

对于Chrome 85.0.4165.0或更高版本,getDevices()watchAdvertisements()在chrome:// flags /#enable-experimental-web-platform-features标志之后实现。这些API的建议用法是使用getDevices()检索允许的BluetoothDevices数组,然后在这些设备上调用watchAdvertisements()开始扫描。当从设备检测到广告包时,advertisementreceived事件将在与其对应的设备上触发。此时,蓝牙设备已在范围内并且可以连接。

请尝试使用此新功能,并使用Blink>蓝牙组件在https://crbug.com上提交所有错误。