android_intent 0.3.5

  • Readme
  • Changelog
  • Example
  • Installing
  • 98

Android Intent Plugin for Flutter #

This plugin allows Flutter apps to launch arbitrary intents when the platform is Android. If the plugin is invoked on iOS, it will crash your app. In checked mode, we assert that the platform should be Android.

Use it by specifying action, category, data and extra arguments for the intent. It does not support returning the result of the launched activity. Sample usage:

if (platform.isAndroid) {
  AndroidIntent intent = AndroidIntent(
      action: 'action_view',
      data: ''
      arguments: {'authAccount': currentUserEmail},
  await intent.launch();

See documentation on the AndroidIntent class for details on each parameter.

Action parameter can be any action including a custom class name to be invoked. If a standard android action is required, the recommendation is to add support for it in the plugin and use an action constant to refer to it. For instance:

'action_view' translates to android.os.Intent.ACTION_VIEW

'action_location_source_settings' translates to android.settings.LOCATION_SOURCE_SETTINGS

'action_application_details_settings' translates to android.settings.ACTION_APPLICATION_DETAILS_SETTINGS

if (platform.isAndroid) {
  final AndroidIntent intent = AndroidIntent(
    action: 'action_application_details_settings',
    data: '', // replace with your applicationId
  await intent.launch();

Feel free to add support for additional Android intents.

The Dart values supported for the arguments parameter, and their corresponding Android values, are listed here. On the Android side, the arguments are used to populate an Android Bundle instance. This process currently restricts the use of lists to homogeneous lists of integers or strings.

Note that a similar method does not currently exist for iOS. Instead, the url_launcher plugin can be used for deep linking. Url launcher can also be used for creating ACTION_VIEW intents for Android, however this intent plugin also allows clients to set extra parameters for the intent.

Getting Started #

For help getting started with Flutter, view our online documentation.

For help on editing plugin code, view the documentation.

0.3.5 #

0.3.4+8 #

  • Remove the deprecated author: field from pubspec.yaml
  • Migrate the plugin to the pubspec platforms manifest.
  • Require Flutter SDK 1.10.0 or greater.

0.3.4+7 #

  • Fix pedantic linter errors.

0.3.4+6 #

  • Add missing DartDocs for public members.

0.3.4+5 #

  • Remove AndroidX warning.

0.3.4+4 #

  • Include lifecycle dependency as a compileOnly one on Android to resolve potential version conflicts with other transitive libraries.

0.3.4+3 #

  • Android: Use android.arch.lifecycle instead of androidx.lifecycle:lifecycle in build.gradle to support apps that has not been migrated to AndroidX.

0.3.4+2 #

  • Fix resolveActivity not respecting the provided componentName.

0.3.4+1 #

  • Fix minor lints in the Java platform code.
  • Add smoke e2e tests for the V2 embedding.
  • Fully migrate the example app to AndroidX.

0.3.4 #

  • Migrate the plugin to use the V2 Android engine embedding. This shouldn't affect existing functionality. Plugin authors who use the V2 embedding can now instantiate the plugin and expect that it correctly responds to app lifecycle changes.

0.3.3+3 #

  • Define clang module for iOS.

0.3.3+2 #

  • Update and migrate iOS example project.

0.3.3+1 #

  • Added "action_application_details_settings" action to open application info settings .

0.3.3 #

  • Added "flags" option to call intent.addFlags(int) in native.

0.3.2 #

  • Added "action_location_source_settings" action to start Location Settings Activity.

0.3.1+1 #

  • Fix Gradle version.

0.3.1 #

  • Add a new componentName parameter to help the intent resolution.

0.3.0+2 #

  • Bump the minimum Flutter version to 1.2.0.
  • Add template type parameter to invokeMethod calls.

0.3.0+1 #

  • Log a more detailed warning at build time about the previous AndroidX migration.

0.3.0 #

  • Breaking change. Migrate from the deprecated original Android Support Library to AndroidX. This shouldn't result in any functional changes, but it requires any Android apps using this plugin to also migrate if they're using the original support library.

0.2.1 #

  • Updated Gradle tooling to match Android Studio 3.1.2.

0.2.0 #

  • Breaking change. Set SDK constraints to match the Flutter beta release.

0.1.1 #

  • Simplified and upgraded Android project template to Android SDK 27.
  • Updated package description.

0.1.0 #

  • Breaking change. Upgraded to Gradle 4.1 and Android Studio Gradle plugin 3.0.1. Older Flutter projects need to upgrade their Gradle setup as well in order to use this version of the plugin. Instructions can be found here.

0.0.3 #

  • Add FLT prefix to iOS types.

0.0.2 #

  • Add support for transferring structured Dart values into Android Intent instances as extra Bundle data.

0.0.1 #

  • Initial release


android_intent_example #

Demonstrates how to use the android_intent plugin.

Getting Started #

For help getting started with Flutter, view our online documentation.

Use this package as a library

1. Depend on it

Add this to your package's pubspec.yaml file:

  android_intent: ^0.3.5

2. Install it

You can install packages from the command line:

with Flutter:

$ flutter pub get

Alternatively, your editor might support flutter pub get. Check the docs for your editor to learn more.

3. Import it

Now in your Dart code, you can use:

import 'package:android_intent/android_intent.dart';
Describes how popular the package is relative to other packages. [more]
Code health derived from static analysis. [more]
Reflects how tidy and up-to-date the package is. [more]
Weighted score of the above. [more]
Learn more about scoring.

We analyzed this package on Jan 21, 2020, and provided a score, details, and suggestions below. Analysis was completed with status completed using:

  • Dart: 2.7.0
  • pana: 0.13.4
  • Flutter: 1.12.13+hotfix.5


Package Constraint Resolved Available
Direct dependencies
Dart SDK >=2.0.0-dev.28.0 <3.0.0
flutter 0.0.0
meta ^1.0.5 1.1.8
platform ^2.0.0 2.2.1
Transitive dependencies
collection 1.14.11 1.14.12
sky_engine 0.0.99
typed_data 1.1.6
vector_math 2.0.8
Dev dependencies
mockito ^3.0.0
test ^1.3.0