foreground_notification 0.2.0

  • Readme
  • Changelog
  • Example
  • Installing
  • 67

Foreground Service Notification Plugin #

Migrate to AndroidX

A Flutter plugin to show forground service notification and customize it. (iOS is not supported)

If you need present that your app is running as a service in user's phone, you can use this plugin.

Usage #

To use this plugin, add foreground_service_notification as a dependency in your pubspec.yaml file.

Example (see file in example/lib/main.dart) #

    // Import package
    import 'package:foreground_notification/foreground_notification.dart';

    // Instantiate it
    ForegroundNotification foregroundNotification;
    foregroundNotification = ForegroundNotification();
    ForegroundNotification().initialize(
      selectNotification: null,
      // input your notification title
      title: 'Flutter Notification Title',
      // input your notification message body
      message: 'Flutter Message Body',
      // if you need chronometer, set value true (* chronometer is an extremely accurate clock)
      useChronometer: false,
      // if you set chronometer true, set the time you want to start
      when: DateTime.now().millisecondsSinceEpoch,
    );

    /// show notification
    foregroundNotification.showAOSNotification();

    /// close notification
    foregroundNotification.closeAOSNotification();

When you set the useChronometer true and set the start time, the seconds start to move from the time you set. if you do not set the start time(when field), it is initialized to current time.

** If you want to show this notification, you first set up your app icon image in folder your_app/android/app/src/main/res/drawable/app_icon.png Image must be named 'app_icon.png'**

  • [x] Chronometer
  • [x] Small Icon
  • [ ] Large Icon

0.2.0 #

Migrate to AndroidX

0.1.0 #

Add API comments.

0.1.0 #

Dart file formatted.

0.0.1 #

Flutter plugin for forground service notification.

example/lib/main.dart

import 'package:flutter/material.dart';
import 'package:foreground_notification/foreground_notification.dart';

void main() => runApp(MyApp());

class MyApp extends StatefulWidget {
  @override
  _MyAppState createState() => _MyAppState();
}

class _MyAppState extends State<MyApp> {
  ForegroundNotification foregroundNotification;
  bool isRunning = false;

  @override
  void initState() {
    super.initState();
    foregroundNotification = ForegroundNotification();
    ForegroundNotification().initialize(
      selectNotification: null,
      title: 'Flutter Notification Title',
      message: 'Flutter Message Body',
      useChronometer: false,
      when: DateTime.now().millisecondsSinceEpoch,
    );
//    initPlatformState();
  }

  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      home: Scaffold(
        appBar: AppBar(
          title: const Text('Forground Service Notification'),
        ),
        body: Center(
          child: Column(
            mainAxisAlignment: MainAxisAlignment.center,
            children: <Widget>[
              icon(),
              SizedBox(
                height: 10.0,
              ),
              Text(isRunning ? 'Close' : 'Show'),
            ],
          ),
        ),
      ),
    );
  }

  Widget icon() {
    return isRunning
        ? IconButton(
            icon: Icon(
              Icons.play_circle_outline,
              size: 40.0,
              color: Colors.grey,
            ),
            onPressed: () async {
              var result = await foregroundNotification.closeAOSNotification();
              setState(() {
                isRunning = !isRunning;
              });
            })
        : IconButton(
            icon: Icon(
              Icons.pause_circle_outline,
              size: 40.0,
              color: Colors.grey,
            ),
            onPressed: () async {
              var result = await foregroundNotification.showAOSNotification();
              setState(() {
                isRunning = !isRunning;
              });
            });
  }
}

Use this package as a library

1. Depend on it

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


dependencies:
  foreground_notification: ^0.2.0

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:foreground_notification/foreground_notification.dart';
  
Popularity:
Describes how popular the package is relative to other packages. [more]
34
Health:
Code health derived from static analysis. [more]
100
Maintenance:
Reflects how tidy and up-to-date the package is. [more]
100
Overall:
Weighted score of the above. [more]
67
Learn more about scoring.

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

  • Dart: 2.7.1
  • pana: 0.13.6
  • Flutter: 1.12.13+hotfix.8

Health suggestions

Format lib/generated/i18n.dart.

Run flutter format to format lib/generated/i18n.dart.

Dependencies

Package Constraint Resolved Available
Direct dependencies
Dart SDK >=2.1.0 <3.0.0
flutter 0.0.0
Transitive dependencies
collection 1.14.11 1.14.12
meta 1.1.8
sky_engine 0.0.99
typed_data 1.1.6
vector_math 2.0.8
Dev dependencies
flutter_test