Class SensorCapabilities

Use this class to give the session access to sensors to help find anchors around you. This is typically used by a PlatformLocationProvider to configure sensors. Refer to Coarse Relocalization to learn more about sensors and platforms.

class Microsoft::Azure::SpatialAnchors::SensorCapabilities final : public std::enable_shared_from_this<Microsoft::Azure::SpatialAnchors::SensorCapabilities>

Properties

BluetoothEnabled

Whether to use Bluetooth signals to find anchors and improve the locatability of existing anchors. Make sure that you also set KnownBeaconProximityUuids when enabling Bluetooth.

Enabling this option requires extra permissions on each platform:

  • Android: Declare BLUETOOTH_ADMIN, BLUETOOTH and ACCESS_COARSE_LOCATION in AndroidManifest.xml and obtain the permissions at run-time by calling ActivityCompat.requestPermissions().
  • HoloLens: Add the "bluetooth" capability to your app's package manifest.
  • iOS: Add the "Privacy - Location When In Use Usage Description" key to Info.plist with a short description of what the permission is for.
auto GetBluetoothEnabled() const -> bool;
auto SetBluetoothEnabled(bool value) -> void;

GeoLocationEnabled

Whether to use the device's global position to find anchors and improve the locatability of existing anchors.

Enabling this option requires extra permissions on each platform:

  • Android: Declare ACCESS_FINE_LOCATION in AndroidManifest.xml and obtain the permission at run-time by calling ActivityCompat.requestPermissions().
  • HoloLens: Add the "location" capability to your app's package manifest.
  • iOS: Add the "Privacy - Location When In Use Usage Description" key to Info.plist with a short description of what the permission is for.
auto GetGeoLocationEnabled() const -> bool;
auto SetGeoLocationEnabled(bool value) -> void;

KnownBeaconProximityUuids

Controls which Bluetooth beacon devices the session is able to see. Add the proximity UUIDs here for all beacons you want to use to find anchors and improve the locatability of existing anchors.

Only Eddystone-Uid and iBeacon UUIDs are supported. If no UUIDs are provided, Bluetooth beacons will not be tracked.

auto GetKnownBeaconProximityUuids() const -> std::vector<std::string>;
auto SetKnownBeaconProximityUuids(apigen_span<std::string> value) -> void;

WifiEnabled

Whether to use WiFi signals to find anchors and improve the locatability of existing anchors.

Enabling this option requires extra permissions on each platform:

  • Android: Declare CHANGE_WIFI_STATE, ACCESS_WIFI_STATE and ACCESS_COARSE_LOCATION in AndroidManifest.xml and obtain the permissions at run-time by calling ActivityCompat.requestPermissions().
  • HoloLens: Add the "wiFiControl" capability to your app's package manifest.
  • iOS: Add the "Privacy - Location When In Use Usage Description" key to Info.plist with a short description of what the permission is for.
auto GetWifiEnabled() const -> bool;
auto SetWifiEnabled(bool value) -> void;