Bluetooth.getAvailability()

Secure context
This feature is available only in secure contexts (HTTPS), in some or all supporting browsers.

This is an experimental technology
Check the Browser compatibility table carefully before using this in production.

The getAvailability() method of Bluetooth interface of Web Bluetooth API interface exposes the Bluetooth capabilities of the current device. For a returns a Boolean which is true if the deveice has a Bluetooth adapter and false otherwise (unless user configured User Agent not to expose a real value).

Note: User might not allow use of Web Bluetooth API, even if getAvailability() returned true (navigator.bluetooth.requestDevice() might not resolve with a BluetoothDevice). Also, user can configure User Agent to return a fixed value instead of a real one.

Syntax

var readerPromise = Bluetooth.getAvailability();

Parameters

None.

Return value

A Promise that resolves with Boolean.

Exceptions

This method doesn't throw any exceptions.

Examples

The following snippet prints out a message in the console specifying wheter or not Bluetooth is supported:

navigator.bluetooth.getAvailability().then(available => {
  if (available)
      console.log("This device supports Bluetooth!");
  else
      console.log("Doh! Bluetooth is not supported");
});

Specifications

Specification Status Comment
Web Bluetooth
The definition of 'getAvailability()' in that specification.
Draft Initial definition.

Browser compatibility

Update compatibility data on GitHub
DesktopMobile
ChromeEdgeFirefoxInternet ExplorerOperaSafariAndroid webviewChrome for AndroidFirefox for AndroidOpera for AndroidSafari on iOSSamsung Internet
getAvailability
Experimental
Chrome Full support 56
Notes
Full support 56
Notes
Notes macOS only.
Full support 56
Notes Disabled
Notes Linux and versions of Windows earlier than 10.
Disabled From version 56: this feature is behind the #enable-experimental-web-platform-features preference (needs to be set to enabled). To change preferences in Chrome, visit chrome://flags.
Full support 70
Notes
Notes Windows 10.
Edge Full support ≤79
Notes
Full support ≤79
Notes
Notes macOS only.
Full support ≤79
Notes Disabled
Notes Linux and versions of Windows earlier than 10.
Disabled From version ≤79: this feature is behind the #enable-experimental-web-platform-features preference (needs to be set to enabled).
Full support ≤79
Notes
Notes Windows 10.
Firefox No support NoIE No support NoOpera Full support 43
Notes
Full support 43
Notes
Notes macOS only.
Full support 43
Notes Disabled
Notes Linux and versions of Windows earlier than 10.
Disabled From version 43: this feature is behind the #enable-experimental-web-platform-features preference (needs to be set to enabled).
Full support 57
Notes
Notes Windows 10.
Safari No support NoWebView Android No support NoChrome Android Full support 56Firefox Android No support NoOpera Android Full support 43Safari iOS No support NoSamsung Internet Android Full support 6.0

Legend

Full support  
Full support
No support  
No support
Experimental. Expect behavior to change in the future.
Experimental. Expect behavior to change in the future.
See implementation notes.
See implementation notes.
User must explicitly enable this feature.
User must explicitly enable this feature.