flutter_badge_manager_android 0.0.2 copy "flutter_badge_manager_android: ^0.0.2" to clipboard
flutter_badge_manager_android: ^0.0.2 copied to clipboard

PlatformAndroid

Android implementation of the flutter_badge_manager plugin.

flutter_badge_manager_android #

The Android implementation of flutter_badge_manager.

Usage #

This package is endorsed; you normally depend only on flutter_badge_manager and this implementation is included automatically. You do not need to add it to pubspec.yaml unless you want to import it directly.

If you do import it explicitly:

dependencies:
  flutter_badge_manager_android: ^<latest>

Then:

import 'package:flutter_badge_manager_android/flutter_badge_manager_android.dart';

final supported = await FlutterBadgeManagerAndroid.instance.isSupported();
if (supported) {
  await FlutterBadgeManagerAndroid.instance.update(5);
  await FlutterBadgeManagerAndroid.instance.remove();
}

Behavior #

  • No official Android API for numeric launcher badges.
  • Numeric badges work only on supported OEM / third‑party launchers (Samsung, Xiaomi, Huawei, Oppo, etc.).
  • Pixel / AOSP stock launcher: only notification dot (no number).
  • If isSupported() returns false, update() silently applies fallback (may rely on notification dot only).
  • Negative counts must throw PlatformException(code: 'invalid_args').

Permissions #

For Android 13+ request runtime notification permission before updating:

import 'package:permission_handler/permission_handler.dart';

Future<void> ensureNotificationPermission() async {
  final status = await Permission.notification.status;
  if (!status.isGranted) {
    await Permission.notification.request();
  }
}

Optional OEM permissions (place inside AndroidManifest.xml) can increase compatibility:

<!-- Samsung -->
<uses-permission android:name="com.sec.android.provider.badge.permission.READ"/>
<uses-permission android:name="com.sec.android.provider.badge.permission.WRITE"/>
<!-- Huawei -->
<uses-permission android:name="com.huawei.android.launcher.permission.CHANGE_BADGE"/>
<uses-permission android:name="com.huawei.android.launcher.permission.READ_SETTINGS"/>
<uses-permission android:name="com.huawei.android.launcher.permission.WRITE_SETTINGS"/>
<!-- Sony -->
<uses-permission android:name="com.sonyericsson.home.permission.BROADCAST_BADGE"/>
<uses-permission android:name="com.sonymobile.home.permission.PROVIDER_INSERT_BADGE"/>
<!-- Others -->
<uses-permission android:name="com.anddoes.launcher.permission.UPDATE_COUNT"/>
<uses-permission android:name="com.majeur.launcher.permission.UPDATE_BADGE"/>

Testing #

Use a device/emulator with a launcher that supports numeric badges (e.g. Samsung). On Pixel expect only isSupported()==false and notification dots.

License #

BSD 3-Clause (see LICENSE).

0
likes
150
points
49
downloads

Publisher

unverified uploader

Weekly Downloads

Android implementation of the flutter_badge_manager plugin.

Repository (GitHub)
View/report issues

Topics

#badge #manager

Documentation

API reference

Funding

Consider supporting this project:

www.buymeacoffee.com
www.patreon.com
boosty.to

License

BSD-3-Clause (license)

Dependencies

flutter, flutter_badge_manager_platform_interface

More

Packages that depend on flutter_badge_manager_android

Packages that implement flutter_badge_manager_android