如何在Android解除绑定后让侦听器保持活动状态?

时间:2014-04-06 15:15:50

标签: android service chat

我目前正在使用XMPP构建聊天应用。我已经创建了一个服务来处理连接和传入消息,添加了所需的不同侦听器。

然而,问题是,只要活动调用解除对服务的绑定(例如,当用户将应用程序置于后台时活动暂停或停止),服务就会被破坏,即使它内部有监听器(例如作为聊天监听器,消息监听器等。)

当应用在后台时,如何让我的服务保持活动以便能够接收消息?我读到使用前台服务是非常不满意的,所以如果可能的话,我宁愿避免使用它。

1 个答案:

答案 0 :(得分:13)

我最近在开发我的应用时遇到了这个问题。

诀窍是自己启动Service,然后使用Intent绑定它。解除绑定后,Service仍会继续运行。

Intent i = new Intent(this, DataService.class);
startService(i); 
bindService(i, this, Context.BIND_AUTO_CREATE);