我的应用程序中有一个名为IntentService
的ReplyMessageIntentService
,并且该服务负责接收来自通知直接回复的消息。意向服务确实会立即调用将消息保存到数据库的类SaveMessage
。我的应用程序中的其他类和活动也使用SaveMessage
类。
ReplyMessageIntentService
和SaveMessage
协同工作。但是,长时间关闭该应用程序后,如果我应回复通知,则应调用ReplyMessageIntentService
,效果很好; SaveMessage
也被调用/初始化,但是在将任何内容保存到数据库之前就停止了。随着代码停止,通知托盘中的通知微调器继续旋转,然后我才能将反馈发送回以取消/更新通知。
[我怀疑我以错误的方式使用了IntentService
,但是,我不想编写更多代码来将数据保存到Intent服务内部的数据库中,因为我已经有相应的代码了。如果前面的语句不是问题,我认为IntentService
具有一定的持续时间,当应用程序关闭一段时间后,必须完成任务。请让我知道此问题的最佳解决方案。
如果使用workmanagar会更好,它将在后台API级别14之后在API 14和Job Scheduler之前调用警报managar,也可以设置不同的约束。
[从Android 8.0开始,对后台服务有更严格的限制。为避免这些问题,您应该使用JobIntentService
而不是JobIntentService
。您可以阅读有关它的更多信息IntentService
。