Top Flutter Android/iOS Device Software and Hardware packages 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:
android_alarm_manager_plus
580
Flutter plugin for accessing the Android AlarmManager service, and running Dart code in the background when alarms fire.
flutter_foreground_task
531
This plugin is used to implement a foreground service on the Android platform.
back_button_interceptor
396
Back Button Interceptor. May be used to do stuff when the Android back-button is tapped, as an alternative to 'WillPopScope'.
flutter_phone_direct_caller
373
Simple flutter plugin to call a number directly, without going to phone dialer, from app
device_apps
342
List applications installed on an Android device (iOS is not supported). You can also monitor application changes (updates, uninstallation…)
double_back_to_close_app
335
A Flutter package that allows Android users to press the back-button twice to close the app.
open_settings
208
The most complete flutter plugin packages for open various settings screen in Android and Ios
flutter_displaymode
203
A Flutter plugin to set display mode (resolution, refresh rate) on Android platform. Allows to enable high refresh rate on supported devices.
usb_serial
189
This plugin will allow you to easily use the USB uart hardware based on FTDI or CDC (and more!) protocols.
move_to_background
176
Flutter plugin for sending application to background. Send your app to the background with one line of code.
flutter_fgbg
171
Flutter plugin to detect when app(not Flutter container) goes to background or foreground
phone_state
130
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.
disable_battery_optimization
113
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
device_information
112
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.
call_log
111
A Flutter plugin to access and query call history log. Support for Android only as iOS does not provide API for accessing call history.
flutter_plugin_android_lifecycle
109
Flutter plugin for accessing an Android Lifecycle within other plugins.
appcheck
107
Flutter plugin that allows you to check if an app is installed/enabled, launch an app and get the list of installed apps.
haptic_feedback
105
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.
wallpaper_manager
103
A Flutter plugin for changing the Home Screen, Lock Screen (or both) Wallpaper(s) on Android devices.
google_api_availability
101
A Flutter plugin to check the availability of Google Play Services on an Android device.
flutter_appavailability
91
Flutter plugin that allows you to check if an app is installed/enabled, launch an app and get the list of installed apps.
open_settings_plus
88
The most complete flutter plugin packages for open various settings screen, covering newer versions of ios and android.
async_wallpaper
85
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.
carrier_info
79
Carrier Info gets networkType, networkGeneration, mobileCountryCode, mobileCountryCode, e.t.c from both android and ios devices
battery_info
74
Flutter plugin providing detailed information about the device battery (level, health, charging status, etc.). Now supports both IOS and android
auto_start_flutter
65
The plugin redirects the user to auto-start permission screen to allow auto-start and fix background problems in some phones.
double_back_to_close
65
Flutter package for request double back pressed before close app/route/screen. Wrap any widget with it to use.
ussd_service
62
A Flutter plugin to make silent USSD requests and read their responses, using Android's sendUssdRequest. iOS is not supported.
activity_recognition_flutter
62
Activity recognition plugin for Android and iOS. Provides event-based information about activities detected by the phone.
ussd_advanced
62
Runs ussd code directly in your application, supports single session and multi session ussd calls
flutter_phone_state
62
This plugin provides an easy way to make phone calls, and track the state of the phone call
imei_plugin
61
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.
android_long_task
58
android long task is a flutter plugin to run dart code in an android foreground service with simplicity
jailbreak_root_detection
55
Uses RootBeer + DetectFrida for Android root detection and IOSSecuritySuite for iOS jailbreak detection.
flutter_activity_recognition
53
This plugin is used to recognize user activity on Android and iOS platforms.
flutter_foreground_plugin
52
A foreground service plugin for Flutter. Support only Android (support Oreo). iOS not support yet.
foreground_service
52
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.
wallpaper
50
The Purpose of the plugin is to set wallpaper from url. Only supported to android. Internally using WallpaperManager to set wallpaper.
hardware_buttons
49
A Flutter plugin for iOS and Android for detecting various hardware buttons such as volume and home button.
sound_mode
48
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.
fullscreen
48
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.
dlibphonenumber
46
This is a Dart port of Google's libphonenumber library, Google's library for parsing, formatting, and validating international phone numbers.
flutter_alarm_background_trigger
44
A flutter plugin for Android to launch app from background at specific time just like stock alarm app in Android.
flutter_voip_kit
43
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_android
40
A Flutter plugin for Android platform-specific APIs, to reduce duplication of effort by centralizing Android bindings in a single package.
get_phone_number
39
Get real phone number from device - It only works on android device and also need to run in a real device.
volume_watcher
38
Support ios and android real-time return system volume value, maximum volume, initial volume, support set volume.
flutter_foreground_service
37
Foreground service for the Android platform, keeps app running even when in background.
root
35
Flutter Plugin to check Android device Root status and Run shell commands in android(only), use this plugin only for short period of processes.
system_shortcuts
35
ANDROID & IOS flutter plugin to use system shortcuts like pressing home, back, volume Up, volume Down keys and toggle wifi, and bluetooth as well.
background_task
33
Can be processed using location updates after the application transitions to the background.
flutter_wallpaper_manager
33
Flutter wallpaper manager plugin, helps you setup wallpaper on android devices. Support home screen, lock screen and both screen wallpaper mode.
user_messaging_platform
32
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.
torch_compat
32
Plugin to turn on / off the torch (or flash of the camera) on all supported versions of Android (4.1+) and iOS
flutter_background_executor
28
This plugin is created for background tasks. It supports scheduled refresh task and immediate background task.
headset_connection_event
28
Flutter Plugin for headset events. Detect headset is plugged and unplugged. Get current headset state.
apple_product_name
27
Library for translating Apple machine identifiers into Apple product names (e.g. 'iPhone17,1' to 'iPhone 16 Pro')
phone_state_background
26
A flutter plugin to handle Phone Call State and execute a Dart callback in background.
torch_controller
26
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!
hardware_buttons_find_flutter
24
On mobile devices with different buttons on it, listening for the name of the button when the buttons are pressed.
flutter_root_detection
20
Flutter Root Detection for Both Android and IOS which does not run the application on root or sudo
is_pirated
20
Check and handle if your app is installed from an unauthorized source. Provides tolling to auto terminate app & open store listing
root_access
19
Flutter plugin to request root access in Android device. This plugin is Android exclusive only.
managed_configurations
18
Plugin to support managed app configuration provided by a Mobile device management (MDM).
huawei_hmsavailability
16
HUAWEI Availability Plugin for Flutter. It allows you to detect whether HMS Core apk is installed on a device.
phone_state_i
16
Listen to Phone Call State(phone is connected/Idle) and provide call back on both iOS and andriod devices.
libphonenumber_plugin
15
Flutter package for Google libphonenumber, for Android and Web. Uses Flutter Federated Package for interoperability.
serial_communication
14
An Android Plugin for Serial Communication which allows you to read and write the data through the available ports
flutter_headset_detector
5
Flutter Plugin for headset events. Detect headset is plugged and unplugged. Get current headset state.
flutter_cell_info
3
Lightweight library that is build over Telephony SDK. NetMonster core is extracted from NetMonster application and backports several Telephony features to older Android devices.
phone_state_handler
1
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.
brightness_volume_manager
1
A Flutter plugin to manage screen brightness and volume on Android and iOS. Also provides the custom widget for brightness and volume swipe.
carp_communication_package
1
CARP communication sampling package. Samples phone, sms, and calendar logs and activity.
background_fetch
0
Periodic callbacks in the background for both iOS and Android. Includes Android Headless implementation.