蓝牙: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 |
浏览器兼容性
BCD 表仅在启用 JavaScript 的浏览器中加载。