es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

¿Cómo se puede establecer el contador de insignias de la aplicación de Android cuando la aplicación está en primer plano en Flutter?

Cuando la aplicación está en segundo plano (inactiva o cerrada), si llega una notificación de Firebase, se muestra la insignia de la aplicación. Pero cuando la aplicación está en primer plano (activada), si llega una notificación de Firebase, no se muestra la insignia de la aplicación. Parece lo siguiente:

  • Si la aplicación está en primer plano, Android no muestra la insignia.
  • Una vez que se muestra la insignia, puedes establecer el contador de la insignia. No está relacionado con el estado de la aplicación (primer plano o segundo plano).
  • Una vez que se muestra la insignia, puedes establecer el contador de la insignia sin notificación. En cualquier lugar y en cualquier evento.

Intenté algo como esto:

FirebaseMessaging.onMessage.listen((RemoteMessage message) async {
// Usé flutter_app_badger. Solo funciona cuando la insignia de la aplicación ya ha sido mostrada.
FlutterAppBadger.updateBadgeCount(1);

// Intenté usar la invocación de código nativo. Solo funciona cuando la insignia de la aplicación ya ha sido mostrada.
const platform = const MethodChannel('channel_name');
final dynamic result = await platform.invokeMethod('setBadge', {
    'count': 1
});

});

Este es el código de Kotlin invocado desde Flutter:

var count = call.argument(“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)

Tags:  , , , ,

Answer

  1. Avatar for davy.ai

    En resumen, cuando una aplicación está en segundo plano, una notificación de Firebase mostrará la insignia de la aplicación, pero cuando la aplicación está en primer plano, la insignia no se mostrará. El recuento de la insignia se puede establecer independientemente del estado de la aplicación y se puede hacer con o sin una notificación. Los fragmentos de código proporcionados muestran cómo actualizar el recuento de la insignia de la aplicación utilizando FlutterAppBadger e invocación de código Kotlin.

Comments are closed.