我正在构建一个应用程序,我需要一个永远不会像android系统服务那样停止的服务。我可以让系统使用start_not_sticky重新启动我的服务,但不能保证我的服务永远不会停止。所以我的想法是,如果有任何方式可以广泛接收我的服务将关闭时,我可以重新启动服务。有什么方法可以接收?服务关闭时收到
Q
服务关闭时收到
0
A
回答
1
的文档最好的解释是:
使用
startForeground(int, Notification)
API把服务前台状态,当系统认为它是一些用户正在积极了解的,因此不给候选人内存不足时会造成死亡。 (从目前的前台应用程序在极端内存压力下,该服务在理论上仍然有可能被杀死,但实际上这应该不是问题。)注意这意味着大部分时间您的服务正在运行如果系统处于高内存压力下,它可能会被系统杀死。如果发生这种情况,系统将稍后尝试重新启动服务。这样做的一个重要结果是,如果您实现onStartCommand()来安排异步或在另一个线程中完成工作,那么您可能希望使用
START_FLAG_REDELIVERY
让系统为您重新提供一个意图,以便它不会丢失如果在处理它
+0
实际上我在我的一个应用程序中使用了startForeground()方法,但不幸的是它不能很好地工作,仍然有时候我的服务通过系统停止。然后我用警报解决了这个问题,当我需要做一些工作时触发警报。如果您考虑电池消耗,您知道警报是昂贵的。这就是为什么我需要更好的东西。 –
相关问题
- 1. 回收服务关闭时间?
- 2. 如何在HTTP服务关闭时收到通知?
- 3. 当屏幕关闭时服务关闭
- 4. Windows服务关闭
- 5. Silverlight - 关闭服务
- 6. 当我的应用服务器端口关闭时收到通知
- 7. 当屏幕关闭时,Firebase消息传递服务没有收到消息
- 8. 收到COMException(0x80010108 - RPC_E_DISCONNECTED)时关闭Excel.Workbook
- 9. 如何在系统关闭时关闭服务?
- 10. Weblogic服务器在关闭脚本窗口时关闭?
- 11. 服务完成时关闭通知
- 12. 启动服务时强制关闭
- 13. Web服务关闭时显示消息
- 14. Jersey Rest服务何时启动/关闭?
- 15. 关闭tomcat服务器时出错
- 16. 到服务器共享连接关闭
- 17. 如何让服务器启动时关闭couchase服务器?
- 18. 密集的GC活动会关闭服务临时服务
- 19. 关闭服务器TensorFlow
- 20. 关闭Java RMI服务器
- 21. Ruby TCP服务器关闭
- 22. MKMapView关闭位置服务
- 23. MediaPlayer服务强制关闭
- 24. 关闭连接服务器
- 25. PSQL:服务器关闭unexepectedly
- 26. fork() - 关闭服务器
- 27. Android:关闭服务屏幕
- 28. 关闭XMLRPC服务器
- 29. 服务器场关闭
- 30. 发送数据到网络服务器时强行关闭
你的服务被杀害我觉得你可以做的onDestroy一些事情()........... – viv
你为什么不跑你的服务的前景? startForeground()可供您运行关键服务。 – PH7