【发布时间】:2017-06-29 17:14:04
【问题描述】:
所以我刚刚使用this guide 在我的 Xamarin.Forms Android 应用程序中实现了 FCM。一切正常,通知到达,它们播放声音,有一个图标等。然后我想在我的通知中添加一个动作,它必须在我的应用程序中打开某个页面。
这就是我的问题所在,Xamarin.Forms 将 所有 Android 内容放在一个 Activity 中。这意味着打开某个页面会导致 MainActivity 的整个 OnCreate 再次加载(以及 LoadApplication 也是如此)。
我的通知
var notificationIntent = new Intent(this, typeof(MainActivity));
notificationIntent.AddFlags(ActivityFlags.ClearTop | ActivityFlags.NewTask);
notificationIntent.PutExtras(intent.Extras);
var pendingIntent = PendingIntent.GetActivity(this, 0, notificationIntent, PendingIntentFlags.UpdateCurrent);
NotificationCompat.Builder notificationBuilder = new NotificationCompat.Builder(this)
.SetSmallIcon(Resource.Drawable.icon)
.SetStyle(new NotificationCompat.BigTextStyle().BigText(text))
.SetContentIntent(pendingIntent)
.SetAutoCancel(true)
.SetPriority((int)NotificationPriority.Max)
.SetVibrate(new long[] { 0, 250, 100, 250, 0 })
.SetLights(Color.Red, 1, 250)
.SetContentTitle("Eindexamen")
.SetContentText(text);
FCM 负载
{"data":{"message":"Notification Hub test notification", "action":"open-exam", "exam-id":"F50FC23C-B4EE-E611-80C3-000D3A218F79"}}
所以我的问题是,如何在不重新加载 Android 上的整个应用程序的情况下打开 Xamarin.Forms 页面?
【问题讨论】:
标签: android azure android-activity xamarin.android xamarin.forms