我需要创建一个与 Android 应用程序一起运行的服务,无论用户在应用程序的哪个屏幕上。 该应用程序是一个聊天应用程序,因此当设备处于离线状态时,该服务应排队所有正在离线发送的消息,而当设备已连接时,它应同步所有消息。
我已经为作业调度程序编写了代码,以便在设备在线时自动同步数据,但是当应用程序处于 Activity 状态时,我想手动处理。
最佳答案
创建一个长期运行的服务。
操作系统仍然可以在低内存和可能的其他情况下终止服务。有两种方法可以克服这个问题:
如果您正在实现该服务,请覆盖 onStartCommand() 并返回 START_STICKY 作为结果。它会告诉系统,即使它会因为内存不足而想要终止您的服务,它也应该在内存恢复正常后立即重新创建它。
AlarmManager .一个系统服务,它将定期执行操作。这将确保如果您的服务将被终止,甚至整个进程将终止(例如强制关闭)- AlarmManager 将 100% 重新启动。
谢谢。
关于android - 创建长期运行的服务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44651641/