Android 无法连接到无互联网连接的 WiFi 网络的问题解决指南

6次阅读
没有评论

问题描述

反馈称,他们的 Android 移动设备无法与未提供互联网接入的 Wi-Fi 网络或 SoftAP 网络建立连接。客户尝试连接他们公司设备创建的 SSID 后被立即断开连接。

在调试时发现的问题是:当开发者本人连接到同样的 SoftAP 网络时,会收到网络无互联网访问的通知,并需要手动确认是否连接该网络。一旦用户确认连接后即可正常访问使用中的应用。

目前还不清楚用户的设备来源(奥地利)和塞尔维亚的公司所在地会对问题产生何种影响;此外几乎所有用于测试的 Android 设备处于开发者模式,这同样可能对问题产生影响。

解决方案

方案1:配置虚假 DNS 和默认网关

根据评论区用户提到的一种解决办法,可以在 Wi-Fi 网络中提供“真实”的 DNS 服务器地址及默认网关,并允许所有对外连接被静默丢弃。这种方法在较早版本的 Android 中曾经有效。

实施步骤

  1. 准备虚拟 DNS 和网关
  2. 安装一个提供虚假 DNS 和默认网关的服务,如 dnsmasq
  3. 使用以下命令安装:bash
    sudo apt-get install dnsmasq
  4. 配置 dnsmasq 以静默丢弃所有对外数据包
  5. 编辑 /etc/dnsmasq.conf 配置文件,添加以下内容:
    ini
    no-resolv
    localise-queries
    domain-needed
    bogus-priv
  6. 添加默认网关和 DNS 服务器地址配置示例(这些地址是虚拟的,用以模拟互联网连接的存在):
    ini
    address=/#/192.168.100.1
    address=/.com/192.168.100.1
  7. 重启 dnsmasq 服务使配置生效
  8. 运行命令:bash
    sudo service dnsmasq restart

方案2:测试设备调整

考虑到开发者模式可能导致设备行为异常,建议用户关闭所有已启用的开发者选项中的网络调试功能,并重启设备以排除此类因素对连接的影响。

实施步骤

  1. 检查和禁用异常设置
  2. 在 Android 设备上依次进入 设置 > 关于手机 > 系统信息 标签页内,查看并手动关闭任何可选的开发者或调试选项(如网络扫描日志、Wi-Fi 带宽监控等)。
  3. 重启设备验证连接
  4. 重启设备后请尝试重新连接 Wi-Fi 或 SoftAP 网络,并观察是否依然存在问题。

通过以上两种方案可以探索解决 Android 设备无法连接无互联网接入的 Wi-Fi 网段问题,建议根据实际情况选择合适的解决方案进行尝试。如仍遇困难,请参阅相关技术社区以获取更多帮助信息。

正文完