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

Pat*_*Pat 9 service android chat

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

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

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

小智 13

我最近在开发我的应用程序时实际上有这个.

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

Intent i = new Intent(this, DataService.class);
startService(i); 
bindService(i, this, Context.BIND_AUTO_CREATE);
Run Code Online (Sandbox Code Playgroud)

  • 那不再起作用了。服务仍然被破坏。对于较新的 SDK,需要前台服务。请参阅此处/sf/answers/3153327971/ (2认同)