Search packages, repositories and app categories

Package detailsv13.0.2

permission_handler

Permission plugin for Flutter. This plugin provides a cross-platform (iOS, Android) API to request and check permissions.

AndroidiOSWebWindows
30-day downloads
3.9M
Likes
6K
Pub points
160

Install package

flutter pub add permission_handler

Package Overview

Package selection guidance compiled from public package information, community data, and project usage.

The permission_handler package provides a cross-platform API for Flutter applications to request and check device permissions on Android, iOS, Web, and Windows. It simplifies handling sensitive user permissions such as camera, microphone, location, and storage access with consistent, platform-agnostic methods. The plugin ensures secure and reliable permission management across different operating systems, reducing boilerplate code and improving developer experience. It integrates seamlessly with Flutter's ecosystem and supports both runtime permission requests and status checks.

Use cases

  • Requesting camera access in a photo app
  • Checking location permission before using GPS features
  • Managing storage access for file uploads
  • Handling microphone permissions in voice recording apps
  • Ensuring compliance with privacy regulations

Key features

  • Cross-platform support (Android, iOS, Web, Windows)
  • Simple API for requesting and checking permissions
  • Supports runtime permission handling
  • Returns detailed permission statuses
  • Integrates well with Flutter workflows

Suitable for

  • Apps requiring device hardware access
  • Privacy-focused applications
  • Multi-platform Flutter projects
  • Developers seeking consistent permission handling
  • Projects needing compliance with platform-specific permission policies

Considerations

  • Requires proper configuration in platform-specific files (e.g., Info.plist, AndroidManifest.xml)
  • May require user interaction for permission grants
  • Does not handle all edge cases automatically
  • Limited to standard system permissions
  • Depends on correct usage of async/await patterns

Original README

Original README snapshot from the linked source repository. Visit the repository for the latest content.

Flutter permission_handler plugin

The Flutter permission_handler plugin is build following the federated plugin architecture. A detailed explanation of the federated plugin concept can be found in the Flutter documentation. This means the permission_handler plugin is separated into the following packages:

  1. permission_handler: the app facing package. This is the package users depend on to use the plugin in their project. For details on how to use the permission_handler plugin you can refer to its README.md file. At this moment the Android and iOS platform implementations are also part of this package. Additional platform support will be added in their own individual "platform package(s)".
  2. permission_handler_platform_interface: this packages declares the interface which all platform packages must implement to support the app-facing package. Instructions on how to implement a platform packages can be found in the README.md of the permission_handler_platform_interface package.

Categories

Dependencies

Dependency list 6 items

  • meta^1.7.0
  • permission_handler_android^14.1.0
  • permission_handler_apple^9.5.0
  • permission_handler_html^0.1.4+0
  • permission_handler_platform_interface^4.4.0
  • permission_handler_windows^0.2.2

Source repository

Projects using this package

Rankings