Flutter Device apps plugin

Plugin to get the list of installed applications (iOS is not supported yet).

Getting Started

First, you have to import the package in your dart files with:

import 'package:device_apps/device_apps.dart';

List of installed applications

To get the list of the apps 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!

Get apps with launch intent

You can now get only those apps with launch intent by using the following option. Also add includeSystemApps option to get all the apps that have launch intent.

// Returns a list of only those apps that have launch intent
List<Application> apps = await DeviceApps.getInstalledApplications(onlyAppsWithLaunchIntent: true, includeSystemApps: true)

Get an application

To get a specific app by package name:

Application app = await DeviceApps.getApp('com.frandroid.app');

Check if an application is installed

To check if an app is installed (via its package name):

bool isInstalled = await DeviceApps.isAppInstalled('com.frandroid.app');

Open an application

To open an application

DeviceApps.openApp('com.frandroid.app');

Displaying app icon

When calling the getInstalledApplications() or getApp() methods, you can ask for the icon. To display the image, just call:

Image.memory(app.icon);

Libraries

device_apps

Dart

dart:ui
Built-in types and core primitives for a Flutter application. [...]

Core

dart:async
Support for asynchronous programming, with classes such as Future and Stream. [...]
dart:collection
Classes and utilities that supplement the collection support in dart:core. [...]
dart:convert
Encoders and decoders for converting between different data representations, including JSON and UTF-8. [...]
dart:core
Built-in types, collections, and other core functionality for every Dart program. [...]
dart:developer
Interact with developer tools such as the debugger and inspector. [...]
dart:math
Mathematical constants and functions, plus a random number generator. [...]
dart:typed_data
Lists that efficiently handle fixed sized data (for example, unsigned 8 byte integers) and SIMD numeric types. [...]

VM

dart:io
File, socket, HTTP, and other I/O support for non-web applications. [...]
dart:isolate
Concurrent programming using isolates: independent workers that are similar to threads but don't share memory, communicating only via messages. [...]