我正在尝试使用Ejabberd
和XMPP ( smack library )
为Android开发聊天应用程序。
需要保持连接活动到服务器以通知新消息和其他新活动。我使用服务来保持我的应用程序在后台运行(在onStartCommand函数中,我使用了返回Service.START_STICKY)
。
我在使用此设置时遇到了一些问题,
1-极高的电池使用率
2- Android O中不允许使用服务(可以使用 ContextCompat.startForegroundService并使用通知,但很烦人 以某种方式)
除了使用服务之外还有更好的解决方案吗?
PS。我们无法使用像GCM
这样的谷歌服务。 (Ejabberd和Android应用程序未连接到互联网(localy))
总结: 问题:在电池消耗良好的背景下保持连接活动
挑战:
1- Android O中不允许使用服务 2-不能使用谷歌服务,如GCM
平台:
XMPP协议,Ejabberd服务器,Smack库