A Flutter plugin for requesting and checking permissions on iOS and Android with a unified API.
Flutter permission_handler is a plugin that provides a unified API for requesting and checking permissions on iOS and Android platforms. It handles platform-specific permission flows for features like camera, location, contacts, and storage, simplifying the process of managing user permissions in Flutter apps.
Flutter developers building cross-platform mobile applications that require access to device features and need to handle permission requests on both iOS and Android.
Developers choose permission_handler because it offers a consistent, easy-to-use API across platforms, abstracts away the complexity of platform-specific permission implementations, and follows Flutter's federated plugin architecture for better maintainability.
Permission plugin for Flutter. This plugin provides a cross-platform (iOS, Android) API to request and check permissions.
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Provides a single unified API for both iOS and Android, as highlighted in the key features, eliminating the need to write platform-specific code for permission handling.
Handles a wide range of permissions including camera, location, contacts, and storage, covering most common use cases for mobile apps.
Built on Flutter's federated architecture, as described in the README, ensuring maintainability and easy extensibility for future platforms or custom implementations.
Allows checking permission statuses like granted, denied, or permanently denied, which is essential for implementing proper user flows and fallback strategies.
Currently focuses only on iOS and Android, with additional platforms requiring separate packages, which may not suit projects targeting web or desktop environments.
Relies on system permission dialogs, offering little control over the appearance or behavior of permission requests, which can be restrictive for apps with specific design requirements.
As a Flutter plugin, it may lag behind OS permission changes or require updates for new versions, potentially causing delays in supporting latest features like Android 13 permissions.