我目前正在使用XMPP构建聊天应用。我已经创建了一个服务来处理连接和传入消息,添加了所需的不同侦听器。
然而,问题是,只要活动调用解除对服务的绑定(例如,当用户将应用程序置于后台时活动暂停或停止),服务就会被破坏,即使它内部有监听器(例如作为聊天监听器,消息监听器等。)
当应用在后台时,如何让我的服务保持活动以便能够接收消息?我读到使用前台服务是非常不满意的,所以如果可能的话,我宁愿避免使用它。
答案 0 :(得分:13)
我最近在开发我的应用时遇到了这个问题。
诀窍是自己启动Service
,然后使用Intent
绑定它。解除绑定后,Service
仍会继续运行。
Intent i = new Intent(this, DataService.class);
startService(i);
bindService(i, this, Context.BIND_AUTO_CREATE);