如何设置Android应用程序徽章计数时,应用程序是前景的Flutter?

disbfnqx  于 2023-02-16  发布在  Flutter
关注(0)|答案(1)|浏览(152)

当应用程序处于后台(未激活或关闭)时,如果收到firebase通知,则显示应用程序标记。
但当应用程序处于前台(激活)时,如果收到firebase通知,则不会显示应用程序标记。
好像在下面。

  • 如果应用程序是前台,android不显示徽章。
  • 一旦徽章显示,您可以设置徽章计数。它与应用程序状态无关(前台或后台)。
  • 一旦徽章显示,您可以设置徽章计数没有通知。任何地方和任何事件。

我试过了。

FirebaseMessaging.onMessage.listen((RemoteMessage message) async {
    // Used flutter_app_badger. It works only when app badge is already showed.
    FlutterAppBadger.updateBadgeCount(1);

    // Tried use native code invocation. It works only when app badge is already showed.
    const platform = const MethodChannel('channel_name');
    final dynamic result = await platform.invokeMethod('setBadge', {
        'count': 1
    });
});

这是从flutter调用的Kotlin代码。

var count =  call.argument<Int>("count") as Int
val intent = Intent("android.intent.action.BADGE_COUNT_UPDATE")
    .putExtra("badge_count", count)
    .putExtra("badge_count_package_name", context.packageName)
    .putExtra("badge_count_class_name", getLauncherMainClassName())
context.sendBroadcast(intent)

相关问题