HemantKArya /
BloomeeTunes
🌸Bloomee is a cross-platform music app designed to bring you ad-free tunes from various sources. 🌼🎵
Loading repository data…
g123k / repository
Flutter plugin to get the list of installed applications (iOS is not supported yet).
A plugin to list installed applications on an Android device (⚠️ iOS is not supported). You can also listen to app changes (eg: installations, updates…)
May 5 2021 will mark a breaking change on how applications requesting QUERY_ALL_PACKAGES are accepted in the Google Play (and only this app store !). Quoting from the doc:
Permitted use involves apps that must discover any and all installed apps on the device, for awareness or interoperability purposes may have eligibility for the permission. Permitted use includes; device search, antivirus apps, file managers, and browsers.
Apps granted access to this permission must comply with the User Data policies, including the Prominent Disclosure and Consent requirements, and may not extend its use to undisclosed or invalid purposes.
More info here: https://support.google.com/googleplay/android-developer/answer/10158779
Starting with version 2.1.0 of this plugin, the QUERY_ALL_PACKAGES permission won't be requested by default!
Starting with Android 11, Android applications targeting API level 30, willing to list "external" applications have to declare a new "normal" permission in their AndroidManifest.xml file called QUERY_ALL_PACKAGES. A few notes about this:
If you want to use, simply add the following to your AndroidManifest.xml:
<manifest...>
<uses-permission android:name="android.permission.QUERY_ALL_PACKAGES" />
</manifest>
However, publishing applications on the Google Play with this kind of feature may change in the future. Quoting from the documentation:
In an upcoming policy update, look for Google Play to provide guidelines for apps that need the QUERY_ALL_PACKAGES permission.
👍 Right now, there is no limitation, but be aware that this may change in the future.
First, you have to import the package in your dart file with:
import 'package:device_apps/device_apps.dart';
To list applications installed on the device:
List<Application> apps = await DeviceApps.getInstalledApplications();
You can filter system apps if necessary.
Note: The list of apps is not ordered! You have to do it yourself.
A launch Intent means you can launch the application.
To list only the apps with launch intents, simply use the onlyAppsWithLaunchIntent: true attribute.
// Returns a list of only those apps that have launch intent
List<Application> apps = await DeviceApps.getInstalledApplications(onlyAppsWithLaunchIntent: true, includeSystemApps: true)
To get a specific application info, please provide its package name:
Application app = await DeviceApps.getApp('com.frandroid.app');
To check if an app is installed (via its package name):
bool isInstalled = await DeviceApps.isAppInstalled('com.frandroid.app');
To open an application (with a launch Intent)
DeviceApps.openApp('com.frandroid.app');
To open an application settings screen
DeviceApps.openAppSettings('com.frandroid.app');
To open the screen to uninstall an application:
AndroidManifest.xml file:<manifest...>
<uses-permission android:name="android.permission.REQUEST_DELETE_PACKAGES" />
</manifest>
DeviceApps.uninstallApp('com.frandroid.app');
When calling getInstalledApplications() or getApp() methods, you can also ask for the icon.
To display the image, just call:
Image.memory(app.icon);
To listen to applications events on the device (installation, uninstallation, update, enabled or disabled):
Stream<ApplicationEvent> apps = await DeviceApps.listenToAppsChanges();
If you only need events for a single app, just use the Stream API, like so:
DeviceApps.listenToAppsChanges().where((ApplicationEvent event) => event.packageName == 'com.frandroid.app')
Selected from shared topics, language and repository description—not editorial ratings.
HemantKArya /
🌸Bloomee is a cross-platform music app designed to bring you ad-free tunes from various sources. 🌼🎵
JordyHers-org /
👨👩👧 🚸 Parental Control App- For Android 🌟This Application use Native plugins to get local data such as Location and AppData to send it to the database. These information are saved in cache. In order to monitor the time spend on screen parent can then send messages and warn kids when it’s time to go to bed or do their homework. 📱🌟🌟
pichillilorenzo /
A Flutter plugin that allows you to check if an app is installed/enabled, launch an app and get the list of installed apps.
samarthagarwal /
A flutter plugin to invoke UPI apps on the device and returns the response after successful/failed transaction back to app.
sharmadhiraj /
Flutter plugin with utility methods related to installed apps on device.
JohannesMilke /
Store & Load Data locally on your phone with Flutter's SharedPreferences plugin to persist data even if your app was closed.