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
552
Flutter plugin for accessing the Android AlarmManager service, and running Dart code in the background when alarms fire.
flutter_foreground_task
495
This plugin is used to implement a foreground service on the Android platform.
back_button_interceptor
385
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
364
Simple flutter plugin to call a number directly, without going to phone dialer, from app
device_apps
341
List applications installed on an Android device (iOS is not supported). You can also monitor application changes (updates, uninstallation…)
double_back_to_close_app
333
A Flutter package that allows Android users to press the back-button twice to close the app.
open_settings
201
The most complete flutter plugin packages for open various settings screen in Android and Ios
flutter_displaymode
189
A Flutter plugin to set display mode (resolution, refresh rate) on Android platform. Allows to enable high refresh rate on supported devices.
usb_serial
182
This plugin will allow you to easily use the USB uart hardware based on FTDI or CDC (and more!) protocols.
move_to_background
175
Flutter plugin for sending application to background. Send your app to the background with one line of code.
flutter_fgbg
168
Flutter plugin to detect when app(not Flutter container) goes to background or foreground
phone_state
124
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.
device_information
113
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.
disable_battery_optimization
109
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
call_log
108
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
105
Flutter plugin for accessing an Android Lifecycle within other plugins.
wallpaper_manager
103
A Flutter plugin for changing the Home Screen, Lock Screen (or both) Wallpaper(s) on Android devices.
google_api_availability
97
A Flutter plugin to check the availability of Google Play Services on an Android device.
appcheck
96
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
93
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_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.
async_wallpaper
83
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.
open_settings_plus
80
The most complete flutter plugin packages for open various settings screen, covering newer versions of ios and android.
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
64
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
64
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.
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.
ussd_advanced
60
Runs ussd code directly in your application, supports single session and multi session ussd calls
android_long_task
58
android long task is a flutter plugin to run dart code in an android foreground service with simplicity
flutter_activity_recognition
52
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.
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.
sound_mode
44
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.
jailbreak_root_detection
44
Uses RootBeer + DetectFrida for Android root detection and IOSSecuritySuite for iOS jailbreak detection.
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.
dlibphonenumber
40
This is a Dart port of Google's libphonenumber library, Google's library for parsing, formatting, and validating international phone numbers.
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
36
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.
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.
flutter_wallpaper_manager
32
Flutter wallpaper manager plugin, helps you setup wallpaper on android devices. Support home screen, lock screen and both screen wallpaper mode.
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
background_task
30
Can be processed using location updates after the application transitions to the background.
flutter_background_executor
27
This plugin is created for background tasks. It supports scheduled refresh task and immediate background task.
headset_connection_event
27
Flutter Plugin for headset events. Detect headset is plugged and unplugged. Get current headset state.
apple_product_name
26
Library for translating Apple machine identifiers into Apple product names (e.g. 'iPhone17,1' to 'iPhone 16 Pro')
phone_state_background
25
A flutter plugin to handle Phone Call State and execute a Dart callback in background.
torch_controller
25
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.
root_access
19
Flutter plugin to request root access in Android device. This plugin is Android exclusive only.
flutter_root_detection
19
Flutter Root Detection for Both Android and IOS which does not run the application on root or sudo
is_pirated
19
Check and handle if your app is installed from an unauthorized source. Provides tolling to auto terminate app & open store listing
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.
serial_communication
14
An Android Plugin for Serial Communication which allows you to read and write the data through the available ports
libphonenumber_plugin
14
Flutter package for Google libphonenumber, for Android and Web. Uses Flutter Federated Package for interoperability.
flutter_headset_detector
4
Flutter Plugin for headset events. Detect headset is plugged and unplugged. Get current headset state.
flutter_cell_info
2
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.