安装在两台设备上的 Android 应用相互通信的最佳方式是什么?设备可以不使用短信直接连接吗?
最佳答案
您有多种选择,具体取决于您的要求和设置:
- 如果您的设备彼此非常靠近(最多约 10 米),您可以按照 Derek 的建议使用蓝牙进行通信。
- 如果您的设备距离较远,但在彼此的 WiFi 范围内(最远约 100 米),那么它们可以使用对等 WiFi API 相互通信,记录在 here (Android 无线 API 的一部分)。这不需要存在 WiFi 路由器,设备会相互发现并直接通信。不过,这需要 Android 4.1 或更高版本。
- 如果您的设备在同一个本地网络上(即使用同一个 WiFi 路由器),Android Wireless API 也可以工作,即使它们本身不在彼此的范围内。
- 如果这些选项都不可行/没有保证,那么我同意 Derek 的观点,即最简单的方法是使用 ServerSocket 和 Socket 通过 Internet 创建服务器/客户端接口(interface)。这是 sample application这样做。您可能遇到的主要问题是,如果服务器位于 NAT 后面(例如家庭互联网路由器),您必须配置 NAT 以将传入数据包转发到您的 Android 服务器。
关于Android - 两台设备之间的通信,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9608832/