我目前正在使用 XMPP 构建一个聊天应用程序。我创建了一个服务来处理连接和传入消息,添加所需的不同监听器。
然而,问题是,每当 Activity 在服务上调用解除绑定(bind)时(例如,当 Activity 暂停或停止时,当用户将应用程序置于后台时)服务就会被销毁,即使它内部有监听器(例如作为聊天监听器、消息监听器等。)
当应用程序在后台运行时,我如何才能让我的服务保持 Activity 状态以便能够接收消息?我读到使用前台服务是非常不受欢迎的,所以我宁愿尽可能避免使用。
最佳答案
我最近在开发我的应用程序时实际上遇到过这个问题。
诀窍是自行启动Service
,然后使用Intent
绑定(bind)到它。当您解除绑定(bind)时,Service
仍将继续运行。
Intent i = new Intent(this, DataService.class);
startService(i);
bindService(i, this, Context.BIND_AUTO_CREATE);
关于android - 在 Android 中解除绑定(bind)后,如何让服务与听众保持联系?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22895872/