Xamarin.Macで通知センターを使用する
2017年11月17日 (金) 02:15時点におけるimported>Administratorによる版
macOSの標準設定では3分以内に同じ通知を繰り返し送信するとポップアップ表示されない(右上の通知アイコンをクリックすると一覧にはいる)。 これを知らず下記のソースコードのAPIの呼び方が間違っていてポップアップ通知がされないバグだと思ってググってしまった。
var userNotifycationCenter = NSUserNotificationCenter.DefaultUserNotificationCenter;
// 通知がクリックされたとき
userNotifycationCenter.DidActivateNotification += (sender, e) => {
Console.WriteLine("DidActivateNotification: " + e.Notification);
};
// 通知されたとき
userNotifycationCenter.DidDeliverNotification += (sender, e) => {
Console.WriteLine("DidDeliverNotification");
};
// create
var userNotification = new NSUserNotification();
userNotification.Title = "タイトル";
userNotification.Subtitle = "サブタイトル";
userNotification.InformativeText = "本文";
userNotification.UserInfo = NSDictionary.FromObjectsAndKeys(new[] { "val" }, new[] { "key" });
// 10秒後に通知
userNotification.DeliveryDate = NSDate.Now.AddSeconds(10);
// 通知実行
//userNotifycationCenter.DeliverNotification(un);
userNotifycationCenter.ScheduleNotification(userNotification);