【发布时间】:2018-05-10 02:38:17
【问题描述】:
我已经在 xamarin 表单上实现了 FCM 通知。所以我想要,当用户点击通知时,它将打开一个 Xamarin 表单内容页面。 这是我接收 FCM 通知的代码: 在 MyFireMessagingService 类内部-
public override void OnMessageReceived(RemoteMessage message)
{
base.OnMessageReceived(message);
SendNotificatios(message.GetNotification().Body, message.GetNotification().Title);
}
public void SendNotificatios(string body, string Header)
{
Notification.Builder builder = new Notification.Builder(this);
builder.SetSmallIcon(Resource.Drawable.AppLauncher);
var intent = new Intent(this, typeof(MainActivity));
intent.AddFlags(ActivityFlags.ClearTop);
PendingIntent pendingIntent = PendingIntent.GetActivity(this, 0, intent, 0);
builder.SetContentIntent(pendingIntent);
builder.SetLargeIcon(BitmapFactory.DecodeResource(Resources, Resource.Drawable.AppLauncher));
builder.SetContentTitle(Header);
builder.SetContentText(body);
builder.SetDefaults(NotificationDefaults.Sound);
builder.SetAutoCancel(true);
NotificationManager notificationManager = (NotificationManager)GetSystemService(NotificationService);
notificationManager.Notify(1, builder.Build());
}
那么点击通知后如何打开内容页面?
【问题讨论】:
-
好问题,使用 Xamarin Android,您只需从使用 Intent.GetStringExtra 指示的 Activity 中添加额外的 Intent 来处理它,但这里只有一个 Activity ......我想那里就是像Montemagno解决权限问题一样解决(github.com/jamesmontemagno/PermissionsPlugin),我担心我不够专家。
-
PermissionsPlugin 不是解决这个问题的解决方案
-
我并不是说它解决了这个问题,只是说方法可能相似。因为理论上你也必须在每个 Activity 中处理权限,而在 Xamarin Forms 中只有一个。
标签: xamarin xamarin.forms