可以选择使用哪个网络接口?

Squ*_*onk 5 android

我有一个应用程序,用于连接到用户家用 PC 上运行的服务。

有两个“简单”的场景......

  1. 用户在他们的设备上启用了 wi-fi,只需使用他们的家庭 WLAN 进行连接。
  2. 用户远离 wi-fi 连接,他们能够连接到移动互联网

我现在面临一个更复杂的场景,即当用户在他们的工作地点并且他们的设备检测到/连接到他们的办公室 WLAN 并且没有通往外部世界的路线时。

问题是,即使他们的设备上同时启用了 wi-fi 和移动互联网,当任何应用程序尝试连接到互联网时,通常会优先使用 wi-fi 接口而不是移动互联网接口。

所以问题是,即使 wi-fi 接口优先,我能否以某种方式绑定到移动接口并进行传出连接?如果是这样,任何有关如何实现这一点的信息的指针都会很有用。谢谢。

smi*_*324 2

这就是我要开始挖掘的地方。ConnectivityManager.requestRouteToHost

该类的主要职责是:

监控网络连接(Wi-Fi、GPRS、UMTS 等)

当网络连接发生变化时发送广播意图

当网络连接丢失时尝试“故障转移”到另一个网络

提供API,允许应用程序查询可用网络的粗粒度或细粒度状态

我还尝试对 AOSP 代码进行 grep 查找,看看它在哪里以及如何使用。