我刚刚尝试了AlarmManager,想让我的应用程序每天下午3点发送一条通知。但是这只在应用程序仍在后台运行时才有效。当用户关闭应用程序时,AM将不再起作用。我该怎么做才能实现我想要的功能,而不是使用AlarmManager?
我刚刚尝试了AlarmManager,想让我的应用程序每天下午3点发送一条通知。但是这只在应用程序仍在后台运行时才有效。当用户关闭应用程序时,AM将不再起作用。我该怎么做才能实现我想要的功能,而不是使用AlarmManager?
您可以使用粘性背景服务来随时发送通知。通过一个简单的运行服务,您可以安排任何任务。对于可能需要防止处理器休眠的长时间运行的任务,请考虑使用wake_lock。还要考虑电池消耗。 祝好。
AlarmManager
(直接或间接地),或者他们接收推送通知(因为他们恰好是一个消息应用程序)。如果用户强制停止WhatsApp,则这两者都将被阻止,而在其他情况下这两者都可以正常工作。 - CommonsWareadb shell dumpsys alarm
**来查看预定的AlarmManager
事件。例如,也许AlarmManager
工作得很好,但是你在使用闹钟类型时犯了错误,比如没有使用WakefulIntentService
或WakefulBroadcastReceiver
与_WAKEUP
闹钟一起使用。 - CommonsWareWakefulBroadcastReceiver
的信息,这里是一个示例应用程序。我的WakefulIntentService
在项目网站上有文档,并且这里是一个示例应用程序。 - CommonsWare