问题描述
我正在尝试为我未来的应用程序开发无线通信协议,我目前对 WiFi Direct 感兴趣:我的印象是这种方法既可以提供最快的连接,也可以提供最强大的信号,胜过两个领域的蓝牙。
使用谷歌在这个地址提供的(官方?)示例代码 https://android.googlesource.com/platform/development/+/master/samples/WiFiDirectDemo
我发现一些让我感觉很不舒服的事情:如果两台设备通过 WiFi Direct 连接,但其中一台(或什至两台)关闭了应用程序,则服务器端的连接“保持开启”,直到“客户端”手机断开连接关闭或“遥不可及”。 对我来说,这简直太奇怪了。 我知道通过调用 removeGroup() 并检查是否有任何套接字保持打开状态,我最终可以创建一个 disconnect() 方法,但在 Android 中唯一不可杀死的方法是 onpause() 也是如此,所以基本上我是这里有两个选项:
...我在这里错过了什么吗?
解决方法
- 处理方向更改和其他更改,这样您就不会在需要时重新启动 Activity 和断开连接(onStop:“当应用对用户不可见时,应用应释放或调整不需要的资源。")
https://developer.android.com/guide/components/activities/activity-lifecycle