我正在实现一个连接到互联网服务器的 android 服务。服务在服务启动时创建会话,定期向服务器发送消息,最后在服务关闭时从服务器中删除会话。
从应用程序启动和停止服务工作正常,并且调用了 onCreate、onStartCommand 和 onDestroy()。我希望该服务能够在没有与 UI/活动的连接的情况下运行。这能够在启动时启动。
但是,如果我从 android 启动器关闭活动,则只会调用活动上的 onDestroy,而不是调用服务。当我使用 START_STICKY 时,系统会重新启动服务,再次调用 onCreate、onStartCommand。
那么如何检测到该服务第一次关闭,以便我可以将“注销”发送到我的服务器?或者替代检测重新启动,所以我不会再次“登录”?
我尝试使用静态布尔值来跟踪服务是否已启动(用户登录),但一旦服务重新启动,它似乎被重置为 false