Android:即使在应用程序被杀死后,WiFi 直接连接仍保持打开状态幸存

问题描述

我正在尝试为我未来的应用程序开发无线通信协议,我目前对 WiFi Direct 感兴趣:我的印象是这种方法既可以提供最快的连接,也可以提供最强大的信号,胜过两个领域的蓝牙。

使用谷歌在这个地址提供的(官方?)示例代码 https://android.googlesource.com/platform/development/+/master/samples/WiFiDirectDemo

我发现一些让我感觉很不舒服的事情:如果两台设备通过 WiFi Direct 连接,但其中一台(或什至两台)关闭了应用程序,则服务器端的连接“保持开启”,直到“客户端”手机断开连接关闭或“遥不可及”。 对我来说,这简直太奇怪了。 我知道通过调用 removeGroup() 并检查是否有任何套接字保持打开状态,我最终可以创建一个 disconnect() 方法,但在 Android 中唯一不可杀死的方法是 onpause() 也是如此,所以基本上我是这里有两个选项:

  1. 一个可以在我的应用中存活的连接;
  2. 每次我执行“在横向和纵向模式之间旋转手机”这样简单的操作时,都会关闭任何现有连接。

...我在这里错过了什么吗?

解决方法

  1. 处理方向更改和其他更改,这样您就不会在需要时重新启动 Activity 和断开连接(onStop:“当应用对用户不可见时,应用应释放或调整不需要的资源。")

https://developer.android.com/guide/components/activities/activity-lifecycle