permission_guard 2.0.1
permission_guard: ^2.0.1 copied to clipboard
UI wrapper around permission_handler package that makes handling permission states easy.
permission_guard #
UI wrapper around permission_handler package that makes handling permission states easy.
Setup #
Before requesting/checking any permissions, you need to setup each platform individually. Instructions: see setup section of permission_handler.
Preview #
Widget | Dialog |
---|---|
![]() |
![]() |
Example usage #
How to use #
Widget
...
PermissionGuard(
permission: Permission.camera,
child: _PermissionGrantedBody(),
),
...
Dialog
...
onPressed: () async {
final status = await Permission.photos.requestGuarded(context);
debugPrint('$status');
},
...
Customizations
Both PermissionGuard
widget & requestGuarded
method accepts
PermissionGuardOptions
that allows customization of almost every element
PermissionGuardOptions({
// Useful to customize the behavior of the guardian.
bool requestOnInit,
bool skipInitialChange,
List<PermissionStatus> validStatuses,
// Useful to customize loader appearance & behavior.
bool displayLoader,
Widget loader,
// Useful to override the default dimensions.
EdgeInsets? padding,
double? iconSpacing,
double? titleSpacing,
double? descriptionSpacing,
// Useful to override default icon.
Widget? icon,
// Useful to override default strings with translated ones based on status.
String Function(PermissionStatus status)? title,
String Function(PermissionStatus status)? description,
String Function(PermissionStatus status)? action,
// Useful to provide custom widgets based on status.
Widget Function(PermissionStatus status)? titleBuilder,
Widget Function(PermissionStatus status)? descriptionBuilder,
// (Provides action `call` method so it can be used in a custom widget)
Widget Function(PermissionStatus status, VoidCallback call)? actionBuilder,
});
Full example #
An example showing how to set up and use permission_guard
package.