【问题标题】:Properly route non internet Wifi sockets & Cellular Internet request (Android L & M)正确路由非互联网 Wifi 插座和蜂窝互联网请求 (Android L & M)
【发布时间】:2017-01-16 00:55:23
【问题描述】:

是否可以将 WiFi 网络(用于无法访问互联网的设备)专用于应用中的套接字,并将蜂窝网络作为 Android 设备(以及来自应用的其他网络请求)的默认互联网连接? (Android 5 和 6)

我可以在应用程序中轻松地在 WiFi 和蜂窝网络之间切换,但主要问题是当 WiFi 启动时,应用程序和设备上已经运行的所有应用程序(即流媒体音乐、网络浏览器、.. .)

我尝试将 Wifi 网络绑定到进程或套接字,但我找不到任何方法来激活网络(此时 Android 只是尝试将所有互联网流量路由到设备...)。

我的理解是,Android 5 和 6 提供了更大的灵活性,可以同时将流量路由到多个网络,但我认为我在这里遗漏了一些东西......

【问题讨论】:

  • 您是否能够为您的案例找到合适的解决方案?我面临着同样的问题:stackoverflow.com/questions/70455485/… 我看到我的设备一直被固定在一个网络上,如果它是蜂窝网络 - 它不知道如何将所有 10.XX.XX.XX 流量重定向到我的 Wifi 设备有自己的http服务器准备好了。 VPN服务?插座?第三方库?

标签: android sockets networking android-5.0-lollipop android-6.0-marshmallow


【解决方案1】:

根据Connecting your App to a Wi-Fi Device blog post

或者,如果您希望将应用流量的一部分路由到 Wi-Fi 设备,而将一部分流量路由到移动网络上的互联网:

【讨论】:

  • 我已经知道这些文档,但我认为我在某些时候做错了什么并且无法解决一些问题:1 - 如果我手动添加网络,电话会连接并且: - 打开一个如果智能开关处于活动状态,则弹出。我可以在此处强制网络(或断开网络) - 连接到网络,但此时没有应用程序能够使用蜂窝网络 2 - 尝试以编程方式添加/删除网络,但是: - 我仍然有智能网络弹出窗口一旦我启用网络 - 我不想在应用程序中创建和删除网络
  • 我认为你真的应该阅读整篇博文,因为它谈到了获取已配置网络的列表或以编程方式添加它,这完全独立于 Smart Switch。
  • 只要您调用 addnetwork(networkId, true),甚至在您调用 wifimaager.reconnect() 之前,手机就会切换到 WiFi 并禁用其他应用程序(如 Chrome)的 CELLULAR。如果网络仍然在手机上配置并且 WiFi 处于活动状态,则手机连接到此网络并阻止任何通过 CELLULAR 访问互联网...似乎特定于 Marshmallow(或三星),它在另一部手机上效果更好(京瓷与棒棒糖)。
猜你喜欢
  • 1970-01-01
  • 2014-08-31
  • 1970-01-01
  • 2016-12-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-08-22
  • 2014-07-21
相关资源
最近更新 更多