无法在UNMutableNotificationContent上设置UserInfo



我正在尝试创建一个必须包含自定义数据的位置通知。

我的选择是使用UserInfo字典,但不幸的是,我似乎不能设置它。

我的代码如下:
var content = new UNMutableNotificationContent();
if (!string.IsNullOrWhiteSpace(value: notification.SoundFile))
{
content.Sound = UNNotificationSound.GetCriticalSound(notification.SoundFile);
}
if (!string.IsNullOrEmpty(notification.ChannelDescription))
{
content.ThreadIdentifier = notification.ChannelDescription;
}
content.Title = notification.Title;
content.Body = notification.Text;
content.CategoryIdentifier = "scheduled-alert";
// The crash occurs on the following line.
content.UserInfo = NSDictionary.FromObjectAndKey(new NSString("remainingTime"), new NSNumber((float)notification.Progress / 100f));

例外是:

System.NotSupportedException
StackTrace  "  at Foundation.NSDictionary.set_Item (System.String key, Foundation.NSObject value) [0x00000] 
in /Library/Frameworks/Xamarin.iOS.framework/Versions/16.2.0.6/src/Xamarin.iOS/Foundation/NSDictionary.cs:376 n  at …"

知道如何设置这个属性吗?根据苹果公司的文件,我认为这应该是可行的。

我用这个构造函数解决了这个问题:

content.UserInfo = new NSDictionary(new NSString("remainingTime"), new NSNumber(100f));

相关内容

  • 没有找到相关文章

最新更新