2013年2月19日火曜日

NotificationManager.notify()とService.startForeground()の違い

NotificationManager.notify()Service.startForeground()
細かい実装方法はあっちこっちを参照してもらうとして…、この2つの違いについて。

どちらも、Notificationを通知できるようになる。違いは

  • startForeground(int id, Notification notification) のidは何故か0は指定できない。
NotificationManagerの方は0を指定出来ます。なぜこの違いが生まれるのかは永遠のベールに包まれています。(そもそも、このidという概念を理解しておりませぬが…。)

それから、

  • startForegroundの方がOSからkillされにくいっぽい。
  • NotificationManagerから複数のNotificationを起動出来ますが、startForegroundの方は1つだけ。

一長一短ですが、background処理で殺されたら困る!場合はstartForegroundの方が幸せになれるでしょう。

いじょー。

他にも違いがあれば教えてください。

0 件のコメント:

コメントを投稿