Documentation
Desktop App
docs

Permissions

Test how your app reacts to each grant state. Sign in to use this tool. It is free.

Set up

Add this call beside UseBuoy in your app setup. Builder calls must come before builder.Build(). They use using Buoy.Maui;. Keep Buoy code in Debug guards. Here, services is your app's service provider.

text
builder.UseBuoyPermissions();

var status = await BuoyPermissions.CheckStatusAsync<Permissions.Camera>();
var answer = await BuoyPermissions.RequestAsync<Permissions.Camera>();
await BuoyPermissions.OpenSettingsAsync("camera");
builder.UseBuoyPermissions();

var status = await BuoyPermissions.CheckStatusAsync<Permissions.Camera>();
var answer = await BuoyPermissions.RequestAsync<Permissions.Camera>();
await BuoyPermissions.OpenSettingsAsync("camera");

You can use IBuoyPermissions from app services too. Calls to MAUI Permissions skip Buoy. A test grant does not let you use the real camera. With no test state, the wrapper uses the real API. Keep your app's OS rights and usage text in place.

MAUI has no blocked state. RN's blocked maps to MAUI's Restricted. Real Disabled reads still reach your app as Disabled. The sync log maps that state to denied. MAUI has no built-in app tracking prompt. Use BuoyNotificationsPermission for a real push prompt on either phone.

Listen to BuoyPermissions.Changed to refresh app reads. The notify switch turns test change events on or off. Allow Once lasts for the current app run. Test states do not change the phone's real grants.

See all MAUI tools.