显示来自BroadcastReceiver的状态栏通知

Ben*_*fez 7 notifications android broadcastreceiver

我正在编写代码以在特定时间向用户显示通知(就像Google日历应用一样).

我因此创造了:

  • a BroadcastReceiver听BOOT_COMPLETED,在接收时它会在一分钟内发出警报,以便在设备仍然装载时不会使设备过载;
  • a BroadcastReceiver听取警报:一分钟后的第一组BOOT_COMPLETED,下一次约会的下一组(如Google日历中)

所以,通常:

  1. BOOT_COMPLETED =>延迟一分钟发起警报
  2. 一分钟后=>接收器为下次预约设置另一个警报
  3. 几分钟/小时/天后,闹钟响起=>接收器显示状态栏通知

这意味着状态栏通知是从BroadcastReceiver.

我在文档中读到应该从活动或服务中启动它们:https://developer.android.com/guide/topics/ui/notifiers/notifications.html#Basics

我在这里要求最佳实践.我应该创建一个Service将由它启动的BroadcastReceiver,并且唯一的目的是启动状态栏通知吗?我的代码正在运行,我只想按照Google的建议创建干净的代码.

Com*_*are 1

您可以Notification从 a添加 a BroadcastReceiver,据我所知。那应该相当快。如果StrictMode抱怨它,那么它可能值得担心——否则,你应该没问题。