Xamarin.Forms如何在点击通知时打开具有相同信息的通知?

3

我正在使用Xamarin.forms在Android项目中,我正在尝试推送通知并且它也能正常工作。但我正在寻找一种方法,让用户可以以全屏大小显示相同标题和相同内容的通知(也许我需要在一个新的Android活动上打开它?!)。以下是我的代码:

var notification = new Notification.Builder (Application.Context)
                .SetContentTitle (message.Short_Message.ToString ())
                .SetContentText (message.Long_Message.ToString())
                .SetSmallIcon (Resource.Mipmap.ic_launcher)  
                .SetStyle(new Notification.BigTextStyle().BigText(message.Long_Message))   
                .SetPriority((int)NotificationPriority.Max)                      
                .Build ();

            var manager = Application.Context.GetSystemService (Application.NotificationService) as NotificationManager;
            manager.Notify (message.ID, notification);
2个回答

0

通常情况下,我们尽可能少使用本地项目。当用户点击通知时,我们会将他们带到表单应用程序并显示信息。

您不打开表单项目以显示内容的特定原因是什么?您可以将属性注入App类中。

如果出于某种原因需要留在Android项目中,我相当确定您需要打开一个新的活动。通知正是它们听起来的那样 - 一条通知,而不是完整的页面视图。您可以在bundle中传输您的值。


1
请问您能否添加代码,解释如何通过打开新的活动来实现这一点? - user3345645

0
请检查下面的代码:
var manager =
    (NotificationManager)context.GetSystemService(Context.NotificationService);

var intent =
    context.PackageManager.GetLaunchIntentForPackage(context.PackageName);
intent.AddFlags(ActivityFlags.ClearTop);

var pendingIntent = PendingIntent.GetActivity(context, 0, intent, PendingIntentFlags.UpdateCurrent);

var message = "Hello, Sigma!";
var builder = new NotificationCompat.Builder(context)
    .SetSmallIcon(Android.Resource.Drawable.TitleBar)
    .SetContentTitle("Hello!")
    .SetStyle(new NotificationCompat.BigTextStyle().BigText(message))
    .SetContentText(message)
    .SetContentIntent(pendingIntent);

manager.Notify(1, builder.Build());

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接