Android服务保持活力

我有一个小聊天应用程序。 当它启动时它绑定到服务。 此服务与服务器具有tcp / ip连接。

当应用程序不在前台时,我的服务会创建状态通知。 到现在为止还挺好。

当应用程序被销毁时,例如使用“onDestroy”方法上的任务管理器,我调用unbind。 现在服务被杀了。 所以我的问题是我如何使服务保持活力,即使没有客户端绑定它。

Googe doc:“只要建立连接,服务就会继续运行(无论客户端是否保留对服务的IBinder的引用)。”

谢谢你。

您可以将服务作为前台服务,该服务将在通知栏中显示一个图标,以便用户可以看到您的服务正在运行。 否则,您无法保持服务正常运行。 顺便说一句,您应该知道永久性服务是Android反模式,系统应该能够在内存不足时终止您的应用程序,并且应用程序暂时没有使用它。 如果您正在做一些合法需要“永远”生活的事情,您应该使用前台服务。

如果您希望即使销毁活页夹活动也能使服务保持活动状态,您可以先在Activity中启动服务,然后再调用bindService:

startService(serviceIntent); bindService(serviceIntent, connection, Context.BIND_AUTO_CREATE);