我正在尝试创建一个必须包含自定义数据的位置通知。
我的选择是使用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));