flutter_new_badger

Getting Started

iOS

On iOS, the notification permission is required to update the badge. It is automatically asked when the badge is added or removed.

Please also add the following to your Info.plist for remote notifications:

<key>UIBackgroundModes</key>
<array>
    <string>remote-notification</string>
</array>

Android

On Android, no official API exists to show a badge in the launcher. But some devices (Samsung, HTC...) support the feature.

Add the following permission to your AndroidManifest.xml:

<!-- 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" />

<!-- HTC -->
<uses-permission android:name="com.htc.launcher.permission.READ_SETTINGS"/>
<uses-permission android:name="com.htc.launcher.permission.UPDATE_SHORTCUT"/>

<!-- Apex -->
<uses-permission android:name="com.anddoes.launcher.permission.UPDATE_COUNT"/>

<!-- Sony -->
<uses-permission android:name="com.sonyericsson.home.permission.BROADCAST_BADGE"/>
<uses-permission android:name="com.sonymobile.home.permission.PROVIDER_INSERT_BADGE"/>

<!-- Solid -->
<uses-permission android:name="com.majeur.launcher.permission.UPDATE_BADGE"/>

Dart

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

import 'package:flutter_new_badger/flutter_new_badger.dart';

Then you can add a badge:

FlutterNewBadger.setBadge(1);

Remove a badge:

FlutterNewBadger.removeBadge();

Get the current badge:

int? badge = await FlutterNewBadger.getBadge();

Increment the badge count by 1 and return the new badge count:

int? int = await FlutterNewBadger.incrementBadgeCount();

Decrement the badge count by 1 and return the new badge count:

int? int = await FlutterNewBadger.decrementBadgeCount();

Libraries

flutter_new_badger