Bluetooth: getAvailability() 方法
getAvailability() 方法是 Bluetooth 接口的一个方法,它名义上返回 true,表示用户代理可以支持蓝牙(因为设备有蓝牙适配器),否则返回 false。
使用“名义上”这个词是因为,如果 Web 蓝牙 API 的使用权限被 Permissions-Policy: bluetooth 权限拒绝,该方法将始终返回 false。此外,用户可以配置其浏览器,即使浏览器确实有一个运行中的蓝牙适配器,也能从 getAvailability() 调用中返回 false,反之亦然。如果权限阻止了访问,则此设置值将被忽略。
即使 getAvailability() 返回 true,并且设备实际上有一个蓝牙适配器,这并不一定意味着调用 navigator.bluetooth.requestDevice() 会解析为一个 BluetoothDevice。蓝牙适配器可能未开启,并且用户可能会在提示时拒绝使用该 API 的权限。
语法
js
getAvailability()
参数
无。
返回值
如果访问被 Permissions-Policy: bluetooth 拒绝,如果用户已将浏览器配置为始终解析为 false,或者设备没有蓝牙适配器,那么该 Promise 将解析为 false。否则,它将解析为 true。
异常
无。
示例
下面的代码片段会在控制台中打印一条消息,指示设备是否支持蓝牙。
js
navigator.bluetooth.getAvailability().then((available) => {
if (available) {
console.log("This device supports Bluetooth!");
} else {
console.log("Doh! Bluetooth is not supported");
}
});
规范
| 规范 |
|---|
| Web 蓝牙 # dom-bluetooth-getavailability |
浏览器兼容性
加载中…