Web蓝牙:如何检查是否已使用JavaScript启用蓝牙?

时间:2020-05-19 11:33:24

标签: javascript bluetooth web-bluetooth

是否可以检查javascript是否启用了蓝牙并且是否有任何事件可以检测到其更改?

Web蓝牙API中有getAvailability()方法:

getAvailability()返回一个诺言,如果用户代理运行在具有蓝牙无线电的系统上,则该诺言以true解析,否则以false解析。蓝牙无线电的电源状态不会影响可用性,因为应用程序可以提示用户使用requestDevice()打开无线电。 AvailabilityChanged事件可用于检测蓝牙无线电的可用性变化。

该API对于开发人员了解是否应该向用户显示Web蓝牙UI很有用。

Web Bluetooth / Availability Sample

但是,如上所述,蓝牙无线电的供电状态不会影响可用性,并且不会因计算机设置关闭而对蓝牙产生反应。

1 个答案:

答案 0 :(得分:2)

正确,getAvailability()仅告诉您系统是否具有蓝牙无线电。

没有特定的API可以告诉站点无线电是否打开或关闭。如果调用了requestDevice(),并且用户关闭了收音机,则会在Chrome的设备选择器中将其通知给用户。他们可以选择取消提示,也可以打开蓝牙设置以启用提示。无论哪种方式,requestDevice()都会拒绝并显示错误,直到用户在设置中启用了蓝牙。