Flutter Gems is a curated list of 6700+ useful Dart & Flutter packages that are categorized based on functionality.
Top Flutter Android/iOS Device Software and Hardware packages
Last updated: February 25, 2025
There are various Dart & Flutter packages that provide a wide range of features for interacting with Android and iOS software and accessing underlying hardware buttons & functionalities.
Some of these features are:
- Unified package that provides consistent access to hardware and software features across both Android and iOS platforms.
- Abstractions for common hardware components like camera, sensors, GPS, microphone, and speakers, making it easy to interact with device capabilities.
- Packages that allow developers to tap into platform-specific features and optimizations while maintaining a consistent codebase.
- Packages to gather device information such as model, OS version, screen dimensions, and battery status.
- Platform-specific interface for features unique to Android and iOS, such as Android intents or iOS-specific user interface paradigms.
- Mechanisms for inter-app communication, enabling data sharing and integration between different apps.
- Packages for setting up push notifications as well as local notifications for reminders and events.
- Components that allow developers to implement platform-specific UI patterns and interactions while maintaining cross-platform compatibility.
These packages aim to simplify the development process for creating feature-rich applications on both Android and iOS platforms while abstracting away platform-specific complexities, enabling developers to focus on creating high-quality user experiences across devices. Check out the curated list of packages below:
flutter_plugin_android_lifecycle
👍 102 ⬇️ 2.9M
Dart 3 compatibleMaintenance Status: Good
Flutter plugin for accessing an Android Lifecycle within other plugins.
workmanager
👍 2.18K ⬇️ 61.4K
Dart 3 compatibleMaintenance Status: Average
Flutter Workmanager. This plugin allows you to schedule background work on Android and iOS.
app_settings
👍 1.12K ⬇️ 561.1K
Dart 3 compatibleMaintenance Status: Good
A Flutter plugin for opening iOS and Android phone settings from an app.
flutter_background_service
👍 1.45K ⬇️ 54.6K
Dart 3 compatibleMaintenance Status: Good
A flutter plugin for executing dart code continously even application closed.
system_info2
👍 61 ⬇️ 1.5M
Dart 3 compatibleMaintenance Status: Average
Provides easy access to useful information about the system (architecture, bitness, kernel, memory, operating system, CPU, user).
background_fetch
👍 1.2K ⬇️ 41.4K
Dart 3 compatibleMaintenance Status: Good
Periodic callbacks in the background for both iOS and Android. Includes Android Headless implementation.
vibration
👍 806 ⬇️ 289.4K
Dart 3 compatibleMaintenance Status: Good
A plugin for handling Vibration API on iOS, Android, web and OpenHarmony.
back_button_interceptor
👍 374 ⬇️ 364.9K
Dart 3 compatibleMaintenance Status: Good
Back Button Interceptor. May be used to do stuff when the Android back-button is tapped, as an alternative to 'WillPopScope'.
android_alarm_manager_plus
👍 540 ⬇️ 8.2K
Dart 3 compatibleMaintenance Status: Good
Flutter plugin for accessing the Android AlarmManager service, and running Dart code in the background when alarms fire.
flutter_foreground_task
👍 478 ⬇️ 30.9K
Dart 3 compatibleMaintenance Status: Good
This plugin is used to implement a foreground service on the Android platform.

safe_device
👍 313 ⬇️ 185.8K
Dart 3 compatibleMaintenance Status: Good
With the Flutter safe_device package, you can easily implement security steps such as Jailbroken, root, emulator and fake location detection.
flutter_callkit_incoming
👍 412 ⬇️ 22.1K
Dart 3 compatibleMaintenance Status: Good
Flutter Callkit Incoming to show callkit screen in your Flutter app.
flutter_windowmanager
👍 348 ⬇️ 75.1K
Dart 3 compatibleMaintenance Status: Poor
A Flutter plugin for manipulating Android WindowManager LayoutParams.
flutter_phone_direct_caller
👍 361 ⬇️ 14.7K
Dart 3 compatibleMaintenance Status: Poor
Simple flutter plugin to call a number directly, without going to phone dialer, from app
process_runner
👍 22 ⬇️ 379.1K
Dart 3 compatibleMaintenance Status: Average
A process invocation abstraction for Dart that manages a multi-process queue.
double_back_to_close_app
👍 333 ⬇️ 2.9K
Dart 3 compatibleMaintenance Status: Poor
A Flutter package that allows Android users to press the back-button twice to close the app.
flutter_background
👍 324 ⬇️ 3.6K
Dart 3 compatibleMaintenance Status: Good
Run apps in the background using foreground services on Android. Ideal for applications that require continuous operation, such as background data synchronization or messaging.
android_id
👍 124 ⬇️ 211.8K
Dart 3 compatibleMaintenance Status: Good
A Flutter plugin for getting the Android ID. Only for Android.

alarm
👍 293 ⬇️ 4.8K
Dart 3 compatibleMaintenance Status: Good
A simple Flutter alarm manager plugin for both iOS and Android.
flutter_ringtone_player
👍 270 ⬇️ 8.7K
Dart 3 compatibleMaintenance Status: Good
A simple player for system default ringtones, alarms and notifications
flutter_vibrate
👍 192 ⬇️ 67.7K
Dart 3 compatibleMaintenance Status: Poor
A Haptic Feedback plugin.
google_api_availability
👍 95 ⬇️ 153.3K
Dart 3 compatibleMaintenance Status: Average
A Flutter plugin to check the availability of Google Play Services on an Android device.
flutter_fgbg
👍 166 ⬇️ 76.3K
Dart 3 compatibleMaintenance Status: Good
Flutter plugin to detect when app(not Flutter container) goes to background or foreground
shake
👍 201 ⬇️ 30.8K
Dart 3 compatibleMaintenance Status: Poor
A flutter package to detect phone shakes. Adjustable G-force and reset periods.
open_settings
👍 200 ⬇️ 29.9K
Dart 3 compatibleMaintenance Status: Poor
The most complete flutter plugin packages for open various settings screen in Android and Ios
flutter_displaymode
👍 187 ⬇️ 28.3K
Dart 3 compatibleMaintenance Status: Average
A Flutter plugin to set display mode (resolution, refresh rate) on Android platform. Allows to enable high refresh rate on supported devices.
screen_brightness
👍 133 ⬇️ 73.8K
Dart 3 compatibleMaintenance Status: Good
A Plugin for controlling screen brightness with application life cycle reset implemented
move_to_background
👍 174 ⬇️ 15.4K
Dart 3 compatibleMaintenance Status: Poor
Flutter plugin for sending application to background. Send your app to the background with one line of code.
volume_controller
👍 94 ⬇️ 102K
Dart 3 compatibleMaintenance Status: Good
A Flutter volume plugin for multiple platform to control system volume.
no_screenshot
👍 153 ⬇️ 29.1K
Dart 3 compatibleMaintenance Status: Good
Flutter plugin to enable, disable, toggle or stream screenshot activities in your application.
usb_serial
👍 174 ⬇️ 3.6K
Dart 3 compatibleMaintenance Status: Good
This plugin will allow you to easily use the USB uart hardware based on FTDI or CDC (and more!) protocols.
neat_periodic_task
👍 155 ⬇️ 9.6K
Dart 3 compatibleMaintenance Status: Average
Auxiliary classes for reliably running a periodic task in a long-running process such as web-server.

phone_state
👍 120 ⬇️ 13K
Dart 3 compatibleMaintenance Status: Good
This plugin allows you to know quickly and easily if your Android or iOS device is receiving a call and to know the status of the call.
appcheck
👍 95 ⬇️ 37.4K
Dart 3 compatibleMaintenance Status: Good
Flutter plugin that allows you to check if an app is installed/enabled, launch an app and get the list of installed apps.
device_information
👍 111 ⬇️ 8.5K
Dart 3 compatibleMaintenance Status: Poor
A flutter plugin to get device information such as device IMEI number,model name,API level,CPU Type,Product Name etc for both android & iOS.
installed_apps
👍 103 ⬇️ 12.8K
Dart 3 compatibleMaintenance Status: Good
Flutter plugin with utility methods related to installed apps on device.
disable_battery_optimization
👍 105 ⬇️ 10.3K
Dart 3 compatibleMaintenance Status: Average
Flutter plugin to check and disable battery optimizations. Also shows custom steps to disable the optimizations in devices like mi, xiaomi, samsung, oppo, huawei, oneplus etc

mobile_number
👍 109 ⬇️ 3.7K
Dart 3 compatibleMaintenance Status: Good
A Flutter plugin for fetching the device's mobile number or list sim cards data
call_log
👍 107 ⬇️ 2.5K
Dart 3 compatibleMaintenance Status: Good
A Flutter plugin to access and query call history log. Support for Android only as iOS does not provide API for accessing call history.
libphonenumber_plugin
👍 14 ⬇️ 101K
Dart 3 compatibleMaintenance Status: Average
Flutter package for Google libphonenumber, for Android and Web. Uses Flutter Federated Package for interoperability.
quick_usb
👍 105 ⬇️ 123
Dart 3 compatibleMaintenance Status: Poor
A cross-platform (Android/Windows/macOS/Linux) USB plugin for Flutter
open_settings_plus
👍 75 ⬇️ 31.9K
Dart 3 compatibleMaintenance Status: Good
The most complete flutter plugin packages for open various settings screen, covering newer versions of ios and android.
gaimon
👍 86 ⬇️ 15.6K
Dart 3 compatibleMaintenance Status: Good
A Flutter plugin to fully support Haptic feedback with custom pattern.
kiosk_mode
👍 92 ⬇️ 1.2K
Dart 3 compatibleMaintenance Status: Good
Plugin for working with Lock Task / Guided Access modes.
haptic_feedback
👍 82 ⬇️ 3.8K
Dart 3 compatibleMaintenance Status: Good
A Flutter plugin for haptic feedback. While it utilizes standard iOS haptics, it aims to emulate these same haptic patterns on Android for a consistent experience across platforms.
flutter_callkeep
👍 83 ⬇️ 383
Dart 3 compatibleMaintenance Status: Good
iOS CallKit and Android ConnectionService bindings for Flutter
carrier_info
👍 78 ⬇️ 4.6K
Dart 3 compatibleMaintenance Status: Poor
Carrier Info gets networkType, networkGeneration, mobileCountryCode, mobileCountryCode, e.t.c from both android and ios devices
async_wallpaper
👍 81 ⬇️ 485
Dart 3 compatibleMaintenance Status: Good
Set wallpapers on Android asynchronously. Also supports video live wallpapers. Use this, when you want to set a wallpaper on Android without a delay or blocking your whole app.
battery_info
👍 74 ⬇️ 3.5K
Dart 3 compatibleMaintenance Status: Poor
Flutter plugin providing detailed information about the device battery (level, health, charging status, etc.). Now supports both IOS and android
dlibphonenumber
👍 37 ⬇️ 37.9K
Dart 3 compatibleMaintenance Status: Good
This is a Dart port of Google's libphonenumber library, Google's library for parsing, formatting, and validating international phone numbers.

flutter_alarm_clock
👍 71 ⬇️ 676
Dart 3 compatibleMaintenance Status: Average
A lightweight flutter package connecting android clock app intents.
torch_light
👍 55 ⬇️ 15.5K
Dart 3 compatibleMaintenance Status: Good
A Flutter plugin to check if the device has a torch / flashlight, and to turn it on and off.
system_settings
👍 66 ⬇️ 3.3K
Dart 3 compatibleMaintenance Status: Poor
Flutter plugin to open system and app settings on iOS and Android.
disk_space
👍 62 ⬇️ 6.4K
Dart 3 compatibleMaintenance Status: Poor
A tiny Flutter Plugin to show free and total disk space.
double_back_to_close
👍 63 ⬇️ 831
Dart 3 compatibleMaintenance Status: Poor
Flutter package for request double back pressed before close app/route/screen. Wrap any widget with it to use.
jailbreak_root_detection
👍 41 ⬇️ 24.4K
Dart 3 compatibleMaintenance Status: Good
Uses RootBeer + DetectFrida for Android root detection and IOSSecuritySuite for iOS jailbreak detection.
activity_recognition_flutter
👍 62 ⬇️ 300
Dart 3 compatibleMaintenance Status: Average
Activity recognition plugin for Android and iOS. Provides event-based information about activities detected by the phone.
ussd_service
👍 62 ⬇️ 128
Dart 3 compatibleMaintenance Status: Poor
A Flutter plugin to make silent USSD requests and read their responses, using Android's sendUssdRequest. iOS is not supported.
auto_start_flutter
👍 61 ⬇️ 954
Dart 3 compatibleMaintenance Status: Good
The plugin redirects the user to auto-start permission screen to allow auto-start and fix background problems in some phones.
ussd_advanced
👍 60 ⬇️ 303
Dart 3 compatibleMaintenance Status: Average
Runs ussd code directly in your application, supports single session and multi session ussd calls

client_information
👍 52 ⬇️ 7K
Dart 3 compatibleMaintenance Status: Good
This is a plugin that lets you get the basic information from your application's client. It's easy to use and supports different platforms (Android, iOS, and Web).
android_long_task
👍 57 ⬇️ 70
Dart 3 compatibleMaintenance Status: Poor
android long task is a flutter plugin to run dart code in an android foreground service with simplicity
flutter_activity_recognition
👍 52 ⬇️ 4.9K
Dart 3 compatibleMaintenance Status: Good
This plugin is used to recognize user activity on Android and iOS platforms.
keep_screen_on
👍 44 ⬇️ 10.9K
Dart 3 compatibleMaintenance Status: Good
This plugin disables automatic screen off and prevents the screen from turning off.
flutter_foreground_plugin
👍 52 ⬇️ 125
Dart 3 compatibleMaintenance Status: Poor
A foreground service plugin for Flutter. Support only Android (support Oreo). iOS not support yet.
sound_mode
👍 44 ⬇️ 7K
Dart 3 compatibleMaintenance Status: Average
A plugin to manage a device's sound mode for android. This plugin also supports requesting the required permissions to modify the device's sound mode for Android API 24 and above.
wallpaper
👍 50 ⬇️ 381
Dart 3 compatibleMaintenance Status: Good
The Purpose of the plugin is to set wallpaper from url. Only supported to android. Internally using WallpaperManager to set wallpaper.
apple_product_name
👍 26 ⬇️ 26K
Dart 3 compatibleMaintenance Status: Good
Library for translating Apple machine identifiers into Apple product names (e.g. 'iPhone17,1' to 'iPhone 16 Pro')
ios_utsname_ext
👍 23 ⬇️ 26.5K
Dart 3 compatibleMaintenance Status: Average
Extension method for translation ios utsname to full product name.

flutter_incoming_call
👍 44 ⬇️ 82
Dart 3 compatibleMaintenance Status: Average
A Flutter plugin to show incoming call in your Flutter app!
flutter_voip_kit
👍 43 ⬇️ 44
Dart 3 compatibleMaintenance Status: Poor
Use iOS CallKit and Android's Telecom library to create and receive calls with native functionality. e.g. Calls pop up on user's lock screen.
flutter_alarm_background_trigger
👍 43 ⬇️ 40
Dart 3 compatibleMaintenance Status: Average
A flutter plugin for Android to launch app from background at specific time just like stock alarm app in Android.
ear
👍 42 ⬇️ 38
Dart 3 compatibleMaintenance Status: Poor
A flutter plugin project to handle all coming notification for android platform platforms.
mac_address
👍 41 ⬇️ 492
Dart 3 compatibleMaintenance Status: Poor
A new Flutter plugin to get MAC Address of Android and iOS Device
volume_watcher
👍 38 ⬇️ 2.9K
Dart 3 compatibleMaintenance Status: Poor
Support ios and android real-time return system volume value, maximum volume, initial volume, support set volume.

pencil_kit
👍 39 ⬇️ 465
Dart 3 compatibleMaintenance Status: Good
A Flutter plugin that provides a iOS PencilKit widget on iOS.
get_phone_number
👍 38 ⬇️ 1.4K
Dart 3 compatibleMaintenance Status: Average
Get real phone number from device - It only works on android device and also need to run in a real device.
root
👍 35 ⬇️ 3.8K
Dart 3 compatibleMaintenance Status: Poor
Flutter Plugin to check Android device Root status and Run shell commands in android(only), use this plugin only for short period of processes.
esim
👍 38 ⬇️ 439
Dart 3 compatibleMaintenance Status: Poor
Flutter plugin to check eSIM compatibility.
managed_configurations
👍 18 ⬇️ 20.6K
Dart 3 compatibleMaintenance Status: Good
Plugin to support managed app configuration provided by a Mobile device management (MDM).
usage_stats
👍 36 ⬇️ 1.1K
Dart 3 compatibleMaintenance Status: Good
Query Android Usage Statistics (Configurations, Events, Usage)
flutter_foreground_service
👍 34 ⬇️ 1K
Dart 3 compatibleMaintenance Status: Average
Foreground service for the Android platform, keeps app running even when in background.
optimize_battery
👍 33 ⬇️ 1.4K
Dart 3 compatibleMaintenance Status: Poor
Check for battery optimization status and open settings or disable it
flutter_screen_wake
👍 31 ⬇️ 3K
Dart 3 compatibleMaintenance Status: Poor
A Flutter plugin to manage the device's screen on Android and iOS.
user_messaging_platform
👍 32 ⬇️ 934
Dart 3 compatibleMaintenance Status: Average
A plugin which provides a Dart API for the User Messaging Platform (UMP) SDK, which is the Consent Management Platform (CMP) SDK provided as part of Google's Funding Choices.
sim_data
👍 32 ⬇️ 830
Dart 3 compatibleMaintenance Status: Poor
A Flutter plugin to retrieve Sim cards data - dual sim support - only Android for now.
flutter_wallpaper_manager
👍 32 ⬇️ 494
Dart 3 compatibleMaintenance Status: Average
Flutter wallpaper manager plugin, helps you setup wallpaper on android devices. Support home screen, lock screen and both screen wallpaper mode.
device_installed_apps
👍 30 ⬇️ 359
Dart 3 compatibleMaintenance Status: Average
Plugin for Flutter with methods related to device installed apps.
background_task
👍 29 ⬇️ 50
Dart 3 compatibleMaintenance Status: Good
Can be processed using location updates after the application transitions to the background.
headset_connection_event
👍 26 ⬇️ 2K
Dart 3 compatibleMaintenance Status: Good
Flutter Plugin for headset events. Detect headset is plugged and unplugged. Get current headset state.
flutter_background_executor
👍 27 ⬇️ 824
Dart 3 compatibleMaintenance Status: Poor
This plugin is created for background tasks. It supports scheduled refresh task and immediate background task.
torch_controller
👍 25 ⬇️ 2.8K
Dart 3 compatibleMaintenance Status: Poor
A controller to manage torch/flash device resource. We give you access to native resources to toggle flashlight, to natively check torch status and more!
flutter_callkit_voximplant
👍 26 ⬇️ 453
Dart 3 compatibleMaintenance Status: Poor
Flutter SDK for CallKit integration to Flutter applications on iOS
phone_state_background
👍 25 ⬇️ 192
Dart 3 compatibleMaintenance Status: Average
A flutter plugin to handle Phone Call State and execute a Dart callback in background.
flutter_dnd
👍 25 ⬇️ 11
Dart 3 compatibleMaintenance Status: Poor
A Flutter plugin to manage Do Not Disturb settings on Android.
hardware_buttons_find_flutter
👍 24 ⬇️ 95
Dart 3 compatibleMaintenance Status: Poor
On mobile devices with different buttons on it, listening for the name of the button when the buttons are pressed.
ringtone_set
👍 23 ⬇️ 73
Dart 3 compatibleMaintenance Status: Poor
Flutter Plugin for setting devices default ringtone or notification sound.
device_imei
👍 23 ⬇️ 10
Dart 3 compatibleMaintenance Status: Average
Flutter plugins to get real IMEI for Mobile Device
ringtone_player
👍 22 ⬇️ 365
Dart 3 compatibleMaintenance Status: Poor
A player for system default ringtone, alarm and notification.
volume_control
👍 21 ⬇️ 561
Dart 3 compatibleMaintenance Status: Poor
A flutter plugin to programmatically adjust the device's volume on Android and iOS.
root_access
👍 19 ⬇️ 405
Dart 3 compatibleMaintenance Status: Poor
Flutter plugin to request root access in Android device. This plugin is Android exclusive only.
flutter_root_detection
👍 19 ⬇️ 44
Dart 3 compatibleMaintenance Status: Poor
Flutter Root Detection for Both Android and IOS which does not run the application on root or sudo
is_pirated
👍 19 ⬇️ 32
Dart 3 compatibleMaintenance Status: Poor
Check and handle if your app is installed from an unauthorized source. Provides tolling to auto terminate app & open store listing
root_tester
👍 18 ⬇️ 279
Dart 3 compatibleMaintenance Status: Average
A Flutter plugin to check if device is rooted or not.only for Android & iOS Devices.
huawei_hmsavailability
👍 16 ⬇️ 1
Dart 3 compatibleMaintenance Status: Average
HUAWEI Availability Plugin for Flutter. It allows you to detect whether HMS Core apk is installed on a device.
serial_communication
👍 14 ⬇️ 131
Dart 3 compatibleMaintenance Status: Poor
An Android Plugin for Serial Communication which allows you to read and write the data through the available ports
device_call_checker
👍 5 ⬇️ 479
Dart 3 compatibleMaintenance Status: Good
A Flutter plugin to check if the device is in a call (normal or VoIP call).
flutter_headset_detector
👍 4 ⬇️ 354
Dart 3 compatibleMaintenance Status: Good
Flutter Plugin for headset events. Detect headset is plugged and unplugged. Get current headset state.
simcards
👍 3 ⬇️ 35
Dart 3 compatibleMaintenance Status: Average
A Flutter Plugin for querying active Device SimCards
flutter_cell_info
👍 2 ⬇️ 55
Dart 3 compatibleMaintenance Status: Average
Lightweight library that is build over Telephony SDK. NetMonster core is extracted from NetMonster application and backports several Telephony features to older Android devices.
carp_communication_package
👍 1 ⬇️ 397
Dart 3 compatibleMaintenance Status: Good
CARP communication sampling package. Samples phone, sms, and calendar logs and activity.
brightness_volume_manager
👍 1 ⬇️ 142
Dart 3 compatibleMaintenance Status: Good
A Flutter plugin to manage screen brightness and volume on Android and iOS. Also provides the custom widget for brightness and volume swipe.

phone_state_handler
👍 1 ⬇️ 27
Dart 3 compatibleMaintenance Status: Good
This plugin allows you to know quickly and easily if your Android or iOS device is receiving a call and to know the status of the call.
carp_apps_package
👍 0 ⬇️ 496
Dart 3 compatibleMaintenance Status: Good
Apps sampling package for the CARP Mobile Sensing framework (Android only).
screen
👍 121 ⬇️ 178
Maintenance Status: Poor
A Flutter plugin to manage the device's screen on Android and iOS.
wallpaper_manager
👍 103 ⬇️ 55
Maintenance Status: Poor
A Flutter plugin for changing the Home Screen, Lock Screen (or both) Wallpaper(s) on Android devices.
flutter_appavailability
👍 90 ⬇️ 66
Maintenance Status: Poor
Flutter plugin that allows you to check if an app is installed/enabled, launch an app and get the list of installed apps.
flutter_phone_state
👍 62 ⬇️ 43
Maintenance Status: Poor
This plugin provides an easy way to make phone calls, and track the state of the phone call
imei_plugin
👍 61 ⬇️ 184
Maintenance Status: Poor
get real IMEI for android devices with validate permission on ejecution time and get unique id on ios An alphanumeric string that uniquely identifies a device to the app’s vendor.
foreground_service
👍 52 ⬇️ 41
Maintenance Status: Poor
Flutter plugin for running dart stuff via an Android foreground service. Only barely tested on Android O, and ever so slightly on M. iOS support not planned.
hardware_buttons
👍 49 ⬇️ 51
Maintenance Status: Poor
A Flutter plugin for iOS and Android for detecting various hardware buttons such as volume and home button.
fullscreen
👍 48 ⬇️ 319
Maintenance Status: Poor
This is a flutter plugin that makes it easy to enable fullscreen in flutter application. The implements the three fullscreen modes of the android platform.
flutter_android
👍 40 ⬇️ 160
Maintenance Status: Poor
A Flutter plugin for Android platform-specific APIs, to reduce duplication of effort by centralizing Android bindings in a single package.
system_shortcuts
👍 35 ⬇️ 62
Maintenance Status: Poor
ANDROID & IOS flutter plugin to use system shortcuts like pressing home, back, volume Up, volume Down keys and toggle wifi, and bluetooth as well.
flutter_incall
👍 25 ⬇️ 23
Maintenance Status: Poor
Flutter InCall Manager plugin for iOS/Android.
phone_state_i
👍 16 ⬇️ 36
Maintenance Status: Poor
Listen to Phone Call State(phone is connected/Idle) and provide call back on both iOS and andriod devices.