この記事は、前回の続き
[Unity3D]ローカル通知を使う
http://terasur.blog.fc2.com/blog-entry-184.html
前回はとりあえず通知は成功したけど、バッジが消せない問題が残った。
その問題の解消法がわかったので紹介。
■バッジの数値を消す
どうやらバッジが指定する数値は、applicationIconBadgeNumberが
「最後に指定した値」らしい。
これがわかればあとは簡単。
applicationIconBadgeNumberの数が0未満の通知を与えてやれば、バッジは消える。
また、ついでに通知センターに表示される履歴も消してやる。
これはNotificationServices.CancelAllLocalNotifications()で行う。
ということで、前回紹介した「2.アプリ起動時に通知を削除する」はこんな感じで変化する。
これで起動時にバッジが消去できた。(稀に失敗する。条件は不明)
参考はここ。
if( NotificationServices.localNotificationCount > 0)
{
LocalNotification l = new LocalNotification();
l.applicationIconBadgeNumber = -1;
NotificationServices.PresentLocalNotificationNow(l);
NotificationServices.CancelAllLocalNotifications();
NotificationServices.ClearLocalNotifications();
}
Using the new notification system(Unity Community)
http://forum.unity3d.com/threads/127016-Using-the-new-notification-system
Unity4も出るし、ここらへんの問題も解決するといいんだけど・・・
[Unity] Unity4の情報を自分なりに訳してみた(けいごのなんとか)
http://anchan828.tumblr.com/post/25373508115/unity-unity4