【问题标题】:Xamarin Forms change label when recieve firebase notification in while app Is open?Xamarin Forms 在应用程序打开时收到 Firebase 通知时更改标签?
【发布时间】:2019-01-13 03:54:25
【问题描述】:

朋友们,可以在 xamarin 表单中使用广播接收器

在 Android Studio(Java) 中我使用广播接收器:

  1. 在前台接收 Firebase 通知

  2. 并在每次收到通知时更改标签的更新。

可以在 XF 中使用吗?或者我应该分别为Android和IOS做它

我已经使用 c# 代码获得了该视图

我把这个 gif https://media.giphy.com/media/1mikDug30CysbMCGqA/giphy.gif

我希望每次收到通知时都使用新的通知数据更新标签:

txtUsuario.Text 

并在应用打开时执行其他功能

CrossFirebasePushNotification.Current.OnNotificationReceived += async (s, p) =>
        {
            //EJECUTAR ESTE METODO [OnNotificationReceived] POR DEFECTO Y NO CUANDO HAGA CLICK EN EL EVENTO
            try
            {
                Console.Out.WriteLine("TOKEN CONSOLE : + p." + p.Data);
                notificationReceived = p.Data.ToString();
                object objetoRecivido = p.Data;
                var data = new
                {
                    codigo = 0,
                    nombreUsuario = ""
                };
                //https://github.com/CrossGeeks/FirebasePushNotificationPlugin/blob/master/docs/FirebaseNotifications.md
                var json = JsonConvert.SerializeObject(p.Data, Newtonsoft.Json.Formatting.Indented);
                myobject = new AOCAdvancedSettings();
                myobject = JsonConvert.DeserializeObject<AOCAdvancedSettings>(json);
                System.Diagnostics.Debug.WriteLine("Received");
                txtUsuario.Text = myobject.nombreUsuario;
                Device.BeginInvokeOnMainThread(() => {

                    txtUsuario.Text = (myobject != null) ? myobject.nombreUsuario : "usuario";

                });

【问题讨论】:

    标签: c# android xamarin.forms push-notification firebase-cloud-messaging


    【解决方案1】:

    听起来您需要从事件中调用 GUI 线程。这应该可以在您的 c# 代码中的 iOS 和 Android 中使用

    Xamarin.Forms.Device.BeginInvokeOnMainThread(() =>
    {
         // code to execute
    });
    

    【讨论】:

    • 感谢@jlo-gmail 的回答。我稍后会测试。
    • 您应该将您的代码作为文本包含并标记为代码
    猜你喜欢
    • 2019-01-30
    • 2016-09-29
    • 1970-01-01
    • 2021-06-13
    • 1970-01-01
    • 1970-01-01
    • 2018-05-24
    • 1970-01-01
    • 2018-04-13
    相关资源
    最近更新 更多