朋友们,可以使用xamarin形式的广播接收器
在Android Studio(Java)中,我使用broadcastreceiver:
在前台接收Firebase通知
并在每次收到通知时更改标签的更新。
是否可以在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";
});
答案 0 :(得分:1)
听起来您需要从事件中的GUI线程上调用。这应该可以在您的C#代码中的iOS和Android设备上运行
Xamarin.Forms.Device.BeginInvokeOnMainThread(() =>
{
// code to execute
});