我有一个管理多个套接字的服务,当使用该服务的所有客户端(活动,应用程序......)断开与它的连接时,onUnbind()
被调用,并且服务关闭它所有的套接字插座。但是如果应用程序崩溃或强行关闭,onUnbind()
永远不会被调用,服务永远不会关闭这些套接字。我该如何处理这种情况?
答案 0 :(得分:0)
如果您在BIND_AUTO_CREATE
中使用bindService()
关闭onDestroy中的所有套接字(需要在Service类中重写)
@Override
public void onDestroy() {
super.onDestroy();
//close here
}
答案 1 :(得分:0)
您可以参考以下代码:
Thread.setDefaultUncaughtExceptionHandler(new UncaughtExceptionHandler() {
@Override
public void uncaughtException(Thread thread, Throwable ex) {
// unbind your service
}
});