当应用程序处于后台(未激活或关闭)时,如果收到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)
1条答案
按热度按时间mf98qq941#
我解决了这个问题。flutter_local_notifications可以解决这个问题。