本地通知实施

问题描述 投票:0回答:1

我正在尝试使用Xamarin.Forms为我的Android应用程序实现本地通知(带有单击事件和HeadUP通知)。我跟随Microsoft documentation进行本地通知,但我不知道如何实现这一点。任何人都可以为此分享任何工作样本。

谢谢。

android xamarin.forms xamarin.android localnotification
1个回答
1
投票

Android official document,有两种方法来设定重要性级别。

enter image description here

第一个解决方案:(不工作)

如果通知的优先级标记为“高”,“最大”或“全屏”,则会收到抬头通知。

可能触发抬头通知的条件示例包括:通知具有高优先级并使用铃声或振动。使用物理设备进行如下尝试:

builder.SetVibrate(new long[0]);
builder.SetPriority((int)NotificationPriority.High);

以下是关于Heads-up notification.的类似讨论

不幸的是,上述解决方案不起作用。

第二个解决方案:(工作)

在Xamarin Android中正确的方法可以设置Channel的属性。如果由NotificationImportance.High创建的频道,则可以显示head -up。你可以参考this official sample.And修改你的CreateNotificationChannel方法如下:

void CreateNotificationChannel()
    {
        if (Build.VERSION.SdkInt < BuildVersionCodes.O)
        {
            // Notification channels are new in API 26 (and not a part of the
            // support library). There is no need to create a notification 
            // channel on older versions of Android.
            return;
        }

        var name = Resources.GetString(Resource.String.channel_name);
        var description = GetString(Resource.String.channel_description);
        //Replace follow NotificationImportance.Default to NotificationImportance.High
        var channel = new NotificationChannel(CHANNEL_ID, name, NotificationImportance.High)
        {
            Description = description
        };



        var notificationManager = (NotificationManager) GetSystemService(NotificationService);
        notificationManager.CreateNotificationChannel(channel);
    }

enter image description here enter image description here

© www.soinside.com 2019 - 2024. All rights reserved.