Plugin.Bluetooth Documentation

This directory documents the current pre-release implementation state of Plugin.Bluetooth.

Goal of these docs:

  • Describe behavior as implemented in code
  • Document conventions and constraints used in this repository
  • Show platform differences explicitly

Documentation Map

Start Here

Architecture And Rules

Core Concepts

Configuration

API Reference

Platform Documentation

Operational Guidance

Layer Model

flowchart LR
	A[Abstractions] --> B[Core]
	B --> C[Platform Implementations]
	C --> D[Bluetooth.Maui Facade]

Projects in the layer model:

  • Abstractions: Bluetooth.Abstractions, Bluetooth.Abstractions.Scanning, Bluetooth.Abstractions.Broadcasting
  • Core: Bluetooth.Core, Bluetooth.Core.Scanning, Bluetooth.Core.Broadcasting
  • Platform: Bluetooth.Maui.Platforms.Apple, Bluetooth.Maui.Platforms.Droid, Bluetooth.Maui.Platforms.Win, Bluetooth.Maui.Platforms.DotNetCore
  • Facade: Bluetooth.Maui

Capability Snapshot

Legend:

  • ✅ implemented
  • ⚠️ implemented with platform limitations
  • ❌ not implemented
Platform Scanning Connection GATT Read/Write/Notify L2CAP Broadcasting
Android ✅ API 29+
iOS/macOS ✅ iOS 11+/macOS 10.13+
Windows
DotNetCore fallback

Notes:

  • Windows currently throws NotSupportedException for L2CAP, connected RSSI reads, PHY changes, MTU requests, connection-priority requests, and force-disconnecting a subscribed GATT client while broadcasting. Broadcasting itself (GATT server/peripheral role) is fully implemented.
  • iOS/macOS broadcaster is implemented, but some operations remain restricted by CoreBluetooth behavior.
  • DotNetCore fallback implementations throw PlatformNotSupportedException by design.