Skip to content

zjx632/flutter_android

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Flutter Android Bindings

Project license Pub package Dartdoc reference Travis CI build status Liberapay patrons

This is a Flutter plugin for using Android's numerous platform-specific APIs in Flutter apps.

Features

  • Implements bindings to a growing set of Android's platform-specific APIs.

  • Reduces duplication of effort by centralizing Android bindings in a single package.

Feature Table

Feature Flutter API
Bluetooth scanning android_bluetooth.BluetoothLeScanner
Face detection android_media.FaceDetector
Distance calculation android_location.Location.distanceBetween()
Heart-rate monitoring android_hardware.SensorManager.getDefaultSensor()
Sensor event streams android_hardware.Sensor#subscribe()

Compatibility

Android only.

Examples

Face detection

import 'package:flutter_android/android_graphics.dart' show Bitmap;
import 'package:flutter_android/android_media.dart' show Face, FaceDetector;

var photo = Image.asset("images/einstein.png");

var bitmap = Bitmap.fromAssetImage(photo.image as AssetImage);
var detector = FaceDetector(width: 280, height: 396);

for (var face in await detector.findFaces(bitmap)) {
  if (face.confidence < Face.CONFIDENCE_THRESHOLD) {
    continue; // skip dubious results below the cut-off threshold
  }
  print("Found a face at (${face.midPoint.x}, ${face.midPoint.y}) with confidence ${face.confidence}");
}

Heart-rate monitoring

import 'package:flutter_android/android_hardware.dart'
    show Sensor, SensorEvent, SensorManager;

var sensor = await SensorManager.getDefaultSensor(Sensor.TYPE_HEART_RATE);

var events = await sensor.subscribe();
events.listen((SensorEvent event) {
  print(event.values[0]);
});

Frequently Asked Questions

TODO

Caveats

  • iOS is not and cannot be supported. All flutter_android APIs throw an AssertionError if they are invoked when running on iOS. For cross-platform apps, we recommend that you depend on the platform package to conditionalize your use of Android APIs.

Reference

import 'package:flutter_android/android.dart' as android;
import 'package:flutter_android/android_app.dart' as android_app;
import 'package:flutter_android/android_bluetooth.dart' as android_bluetooth;
import 'package:flutter_android/android_content.dart' as android_content;
import 'package:flutter_android/android_database.dart' as android_database;
import 'package:flutter_android/android_graphics.dart' as android_graphics;
import 'package:flutter_android/android_hardware.dart' as android_hardware;
import 'package:flutter_android/android_location.dart' as android_location;
import 'package:flutter_android/android_media.dart' as android_media;
import 'package:flutter_android/android_os.dart' as android_os;

Cross-Reference

Android Flutter
android.app android_app
android.app.Activity android_app.Activity
android.app.ActivityManager android_app.ActivityManager
android.app.AlarmManager android_app.AlarmManager
android.app.AuthenticationRequiredException android_app.AuthenticationRequiredException
android.app.DownloadManager android_app.DownloadManager
android.app.KeyguardManager android_app.KeyguardManager
android.app.Notification android_app.Notification
android.app.Notification.Action android_app.NotificationAction
android.app.Notification.Builder android_app.NotificationBuilder
android.app.NotificationManager android_app.NotificationManager
android.app.PendingIntent android_app.PendingIntent
android.app.SearchManager android_app.SearchManager
android.app.WallpaperColors android_app.WallpaperColors
android.app.WallpaperInfo android_app.WallpaperInfo
android.app.WallpaperManager android_app.WallpaperManager
android.bluetooth android_bluetooth
android.bluetooth.BluetoothAdapter android_bluetooth.BluetoothAdapter
android.bluetooth.BluetoothDevice android_bluetooth.BluetoothDevice
android.bluetooth.BluetoothHeadset android_bluetooth.BluetoothHeadset
android.bluetooth.BluetoothManager android_bluetooth.BluetoothManager
android.bluetooth.le.BluetoothLeScanner android_bluetooth.BluetoothLeScanner
android.bluetooth.le android_bluetooth
android.content android_content
android.content.ActivityNotFoundException android_content.ActivityNotFoundException
android.content.ComponentName android_content.ComponentName
android.content.ContentValues android_content.ContentValues
android.content.Context android_content.Context
android.content.Intent android_content.Intent
android.content.IntentFilter android_content.IntentFilter
android.content.SharedPreferences android_content.SharedPreferences
android.database android_database
android.database.Cursor android_database.Cursor
android.database.CursorIndexOutOfBoundsException android_database.CursorIndexOutOfBoundsException
android.database.DatabaseUtils android_database.DatabaseUtils
android.database.MatrixCursor android_database.MatrixCursor
android.database.SQLException android_database.SQLException
android.graphics android_graphics
android.graphics.Bitmap android_graphics.Bitmap
android.graphics.Color dart-ui.Color
android.graphics.Point android_graphics.Point
android.graphics.PointF android_graphics.PointF
android.graphics.drawable.Icon flutter.Icon
android.hardware android_hardware
android.hardware.Sensor android_hardware.Sensor
android.hardware.SensorEvent android_hardware.SensorEvent
android.hardware.SensorEventListener android_hardware.SensorEventListener
android.hardware.SensorManager android_hardware.SensorManager
android.location android_location
android.location.Location android_location.Location
android.media android_media
android.media.FaceDetector android_media.FaceDetector
android.media.FaceDetector.Face android_media.Face
android.net android_net
android.nfc android_nfc
android.os android_os
android.os.BatteryManager android_os.BatteryManager
android.os.Build android_os.Build
android.os.Bundle android_os.Bundle
android.os.Environment android_os.Environment
android.os.HardwarePropertiesManager android_os.HardwarePropertiesManager
android.os.Parcel android_os.Parcel
android.os.Parcelable android_os.Parcelable
android.os.PowerManager android_os.PowerManager
android.os.Process android_os.Process
android.os.StatFs android_os.StatFs
android.os.SystemClock android_os.SystemClock
android.os.UserManager android_os.UserManager
android.os.VibrationEffect android_os.VibrationEffect
android.os.Vibrator android_os.Vibrator
android.provider android_provider
android.security android_security
android.speech android_speech
android.telephony android_telephony
android.view android_view
java.util.Locale dart-ui.Locale

See Also

  • The flutter_sqlcipher package implements encrypted SQLite databases based on the android.database APIs.

Packages

No packages published

Languages

  • Dart 88.4%
  • Java 9.9%
  • Ruby 1.1%
  • Other 0.6%