Skip to content
Document DB v12 - Improved Interceptors with Soft Delete Integration, AI protections, & Admin UI with Aspire Integration!How!?

Background Operations

Shiny BLE supports background operations through delegates. These fire when Bluetooth events occur even when your app is in the background.

The IBleDelegate interface receives adapter state and peripheral connection events in the background.

public class MyBleDelegate : BleDelegate
{
readonly ILogger<MyBleDelegate> logger;
public MyBleDelegate(ILogger<MyBleDelegate> logger)
{
this.logger = logger;
}
public override Task OnAdapterStateChanged(AccessState state)
{
this.logger.LogInformation("BLE Adapter State: {State}", state);
return Task.CompletedTask;
}
public override Task OnPeripheralStateChanged(IPeripheral peripheral)
{
this.logger.LogInformation(
"Peripheral {Name} ({Uuid}) - {Status}",
peripheral.Name,
peripheral.Uuid,
peripheral.Status
);
return Task.CompletedTask;
}
}

Register your delegate during startup:

services.AddBluetoothLE<MyBleDelegate>();
Scenario Use
Respond to events while app is backgrounded Delegate
Monitor connection state while app is in foreground WhenStatusChanged() observable
React to adapter on/off changes globally Delegate
UI-bound connection monitoring Observable