我正在开发一个 andoird 应用程序,它需要知道有多少和什么样的其他 android 设备正在使用相同的应用程序。在深入了解 BLE 和 Wifi Direct 之后,我怀疑没有有效的方法可以做到这一点,因为 android 中的 BLE API 无法宣传设备,而 Wifi Direct 会阻止设备连接到 Wifi 路由器。
我的要求是它应该高效地完成,并且对用户的正常网络使用造成最小的影响。
我正在开发一个 andoird 应用程序,它需要知道有多少和什么样的其他 android 设备正在使用相同的应用程序。在深入了解 BLE 和 Wifi Direct 之后,我怀疑没有有效的方法可以做到这一点,因为 android 中的 BLE API 无法宣传设备,而 Wifi Direct 会阻止设备连接到 Wifi 路由器。
我的要求是它应该高效地完成,并且对用户的正常网络使用造成最小的影响。
您可以使用Android SDK 提供的Nsd(网络服务发现) API。
这将在后台使用多播 DNS 来执行局域网上远程服务的发现。您必须构建一个广告应用程序以安装在远程设备上,并让您的客户端应用程序发现远程设备。
您可能想查看NsdManager 类文档,该文档提供了有关 API 工作方式的有用信息。