CkPermission class

A modern, developer-friendly permission manager for CoreKit.

Easily ensure permissions before triggering hardware features:

final status = await CkPermission.camera.ensure();
if (!status) return;

final picked = await ImagePicker().pickImage(
  source: ImageSource.camera,
);

Constructors

CkPermission(Permission permission)
Creates a CkPermission instance wrapping a Permission.
const
CkPermission.from(Permission permission)
Creates a CkPermission instance from a Permission.
const

Properties

hashCode int
The hash code for this object.
no setteroverride
isDenied Future<bool>
Returns true if the permission is denied.
no setter
isGranted Future<bool>
Returns true if the permission is granted.
no setter
isLimited Future<bool>
Returns true if the permission is limited (e.g. limited photo library access on iOS).
no setter
isPermanentlyDenied Future<bool>
Returns true if the permission is permanently denied.
no setter
isRestricted Future<bool>
Returns true if the permission is restricted (e.g. by parental controls).
no setter
name String
Friendly display name for the permission.
no setter
permission Permission
The underlying Permission from permission_handler.
final
runtimeType Type
A representation of the runtime type of the object.
no setterinherited
status Future<PermissionStatus>
The current PermissionStatus.
no setter

Methods

ensure({bool showDialog = true, BuildContext? context}) Future<bool>
Checks if the permission is granted. If not, requests it. If permanently denied, shows the settings dialog if showDialog is true.
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
request() Future<PermissionStatus>
Requests the permission from the operating system.
showDialog({BuildContext? context}) Future
Displays the permanently denied dialog guiding the user to open app settings.
toString() String
A string representation of this object.
override

Operators

operator ==(Object other) bool
The equality operator.
override

Static Methods

ensureMultiple(List<CkPermission> permissions, {bool showDialog = true, BuildContext? context}) Future<Map<CkPermission, bool>>
Ensures multiple CkPermission permissions concurrently.
ensurePermission(Permission permission, {bool showDialog = true, BuildContext? context}) Future<bool>
Ensures a standard Permission.
getPermissionName(Permission permission) String
Gets the friendly name of any Permission.
openSettings() Future<bool>
Opens the operating system app settings page.
showPermissionDialog(Permission permission, {BuildContext? context}) Future
Displays the permission denied dialog for any Permission.

Constants

accessMediaLocation → const CkPermission
Access media location permission (Permission.accessMediaLocation).
accessNotificationPolicy → const CkPermission
Access notification policy permission (Permission.accessNotificationPolicy).
activityRecognition → const CkPermission
Activity recognition permission (Permission.activityRecognition).
appTrackingTransparency → const CkPermission
App tracking transparency permission (Permission.appTrackingTransparency).
assistant → const CkPermission
Assistant permission (Permission.assistant).
audio → const CkPermission
Audio permission (Permission.audio).
backgroundRefresh → const CkPermission
Background refresh permission (Permission.backgroundRefresh).
bluetooth → const CkPermission
Bluetooth permission (Permission.bluetooth).
bluetoothAdvertise → const CkPermission
Bluetooth advertise permission (Permission.bluetoothAdvertise).
bluetoothConnect → const CkPermission
Bluetooth connect permission (Permission.bluetoothConnect).
bluetoothScan → const CkPermission
Bluetooth scan permission (Permission.bluetoothScan).
calendar → const CkPermission
Calendar permission (Permission.calendar).
calendarFullAccess → const CkPermission
Calendar full access permission (Permission.calendarFullAccess).
calendarWriteOnly → const CkPermission
Calendar write-only permission (Permission.calendarWriteOnly).
camera → const CkPermission
Camera permission (Permission.camera).
contacts → const CkPermission
Contacts permission (Permission.contacts).
criticalAlerts → const CkPermission
Critical alerts permission (Permission.criticalAlerts).
ignoreBatteryOptimizations → const CkPermission
Ignore battery optimizations permission (Permission.ignoreBatteryOptimizations).
location → const CkPermission
General Location permission (Permission.location).
locationAlways → const CkPermission
Location always permission (Permission.locationAlways).
locationWhenInUse → const CkPermission
Location when in use permission (Permission.locationWhenInUse).
manageExternalStorage → const CkPermission
Manage external storage permission (Permission.manageExternalStorage).
mediaLibrary → const CkPermission
Media Library permission (Permission.mediaLibrary).
microphone → const CkPermission
Microphone permission (Permission.microphone).
nearbyWifiDevices → const CkPermission
Nearby Wi-Fi devices permission (Permission.nearbyWifiDevices).
notification → const CkPermission
Notification permission (Permission.notification).
phone → const CkPermission
Phone permission (Permission.phone).
photos → const CkPermission
Photos / Photo Library permission (Permission.photos).
photosAddOnly → const CkPermission
Photos Add-Only permission (Permission.photosAddOnly).
reminders → const CkPermission
Reminders permission (Permission.reminders).
requestInstallPackages → const CkPermission
Request install packages permission (Permission.requestInstallPackages).
scheduleExactAlarm → const CkPermission
Schedule exact alarm permission (Permission.scheduleExactAlarm).
sensors → const CkPermission
Sensors permission (Permission.sensors).
sensorsAlways → const CkPermission
Sensors always permission (Permission.sensorsAlways).
sms → const CkPermission
SMS permission (Permission.sms).
speech → const CkPermission
Speech recognition permission (Permission.speech).
storage → const CkPermission
Storage permission (Permission.storage).
systemAlertWindow → const CkPermission
System alert window permission (Permission.systemAlertWindow).
videos → const CkPermission
Videos permission (Permission.videos).