gpt4 book ai didi

ios - Xamarin Forms iOS 本地通知不显示

转载 作者:行者123 更新时间:2023-11-28 21:03:02 25 4
gpt4 key购买 nike

我正在 Xamarin.Forms 中构建应用程序,但无法在 iOS 中显示本地通知。我已按照 https://developer.xamarin.com/guides/ios/platform_features/user-notifications/enhanced-user-notifications/ 中的指南进行操作并且通知仍然没有显示。我在 AppDelegate 的 FinishedLaunching 方法中添加了以下内容:

    UNUserNotificationCenter.Current.RequestAuthorization (UNAuthorizationOptions.Alert, (approved, err) => {});

在我希望显示通知的页面中:

using UserNotifications;


var content = new UNMutableNotificationContent ();
content.Title = "Notification Title";
content.Subtitle = "Notification Subtitle";
content.Body = "Test Notification.";
content.Badge = 1;

var trigger = UNTimeIntervalNotificationTrigger.CreateTrigger (5, false);

var requestID = "sampleRequest";
var request = UNNotificationRequest.FromIdentifier (requestID, content,
trigger);

UNUserNotificationCenter.Current.AddNotificationRequest (request, (err) => {
if (err != null) {
// Do something with error...
}
});

我所有的 nuGet 包都是最新的,我已经尝试在 iOS iPhone 模拟器和物理 iPad 设备上进行测试。

我在这里遗漏了什么吗?

最佳答案

实际上,如果您的应用程序在前台,iOS 系统默认会静音通知。

解决方案:

有两种解决方案:

  1. 当您触发延迟通知时,通过单击主页按钮转到后台。然后会显示通知。

  2. 执行委托(delegate) userNotificationCenter:willPresentNotification:withCompletionHandler: ,当应用程序在前台时有通知到达时,它将被调用。例如,这是在应用程序位于前台时启用通知的代码片段:

    UNUserNotificationCenter.Current.Delegate = new MyNotificationDelegate();

    public class MyNotificationDelegate: UNUserNotificationCenterDelegate
    {
    public override void WillPresentNotification(UNUserNotificationCenter center, UNNotification notification, Action<UNNotificationPresentationOptions> completionHandler)
    {
    completionHandler(UNNotificationPresentationOptions.Alert);
    }
    }

关于ios - Xamarin Forms iOS 本地通知不显示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47336018/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com