【问题标题】:Android notifications on background service后台服务上的 Android 通知
【发布时间】:2016-02-07 20:56:43
【问题描述】:

我正在开发一个递归显示通知的应用程序。用户可以定义他希望接收通知的频率,并且这次使用递归处理程序控制后台服务以了解何时发送通知。

问题是当 android 的内存管理器认为有必要时销毁我的服务并且应用程序停止发送通知。

如何从后台服务发送通知并避免 android 的内存管理器破坏它?有什么想法吗?

【问题讨论】:

  • 您使用的是什么类型的服务? IntentServiceService?

标签: android service background notifications destroy


【解决方案1】:

如果您想实现您的功能,请查看 AlarmManager class.

您可以在希望让应用程序代码在特定时间运行的地方使用它,即使您的应用程序当前没有运行。

因此,请不要一直保留服务,只需显示通知并将包含有关您的服务的信息的 Intent 发布到 AlarmManager(毕竟请不要忘记致电stopService())。 然后,AlarmManager 将在需要时启动您的 Service,Service 将再次执行此操作(通知并将 Intent 发布到 AlarmManager)。

PS:JobScheduler class

【讨论】:

    【解决方案2】:

    您可以使用startForeground() 标记对系统重要的服务。

    如果终止您的服务会对用户造成干扰,您可以设置此标志,例如您的服务正在播放背景音乐,这样用户会注意到他们的音乐是否停止播放。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-01-21
      • 1970-01-01
      • 2017-11-06
      相关资源
      最近更新 更多