问题描述
反馈称,他们的 Android 移动设备无法与未提供互联网接入的 Wi-Fi 网络或 SoftAP 网络建立连接。客户尝试连接他们公司设备创建的 SSID 后被立即断开连接。
在调试时发现的问题是:当开发者本人连接到同样的 SoftAP 网络时,会收到网络无互联网访问的通知,并需要手动确认是否连接该网络。一旦用户确认连接后即可正常访问使用中的应用。
目前还不清楚用户的设备来源(奥地利)和塞尔维亚的公司所在地会对问题产生何种影响;此外几乎所有用于测试的 Android 设备处于开发者模式,这同样可能对问题产生影响。
解决方案
方案1:配置虚假 DNS 和默认网关
根据评论区用户提到的一种解决办法,可以在 Wi-Fi 网络中提供“真实”的 DNS 服务器地址及默认网关,并允许所有对外连接被静默丢弃。这种方法在较早版本的 Android 中曾经有效。
实施步骤
- 准备虚拟 DNS 和网关
- 安装一个提供虚假 DNS 和默认网关的服务,如
dnsmasq
。 - 使用以下命令安装:
bash
sudo apt-get install dnsmasq - 配置
dnsmasq
以静默丢弃所有对外数据包 - 编辑
/etc/dnsmasq.conf
配置文件,添加以下内容:
ini
no-resolv
localise-queries
domain-needed
bogus-priv - 添加默认网关和 DNS 服务器地址配置示例(这些地址是虚拟的,用以模拟互联网连接的存在):
ini
address=/#/192.168.100.1
address=/.com/192.168.100.1 - 重启
dnsmasq
服务使配置生效 - 运行命令:
bash
sudo service dnsmasq restart
方案2:测试设备调整
考虑到开发者模式可能导致设备行为异常,建议用户关闭所有已启用的开发者选项中的网络调试功能,并重启设备以排除此类因素对连接的影响。
实施步骤
- 检查和禁用异常设置
- 在 Android 设备上依次进入
设置 > 关于手机 > 系统信息
标签页内,查看并手动关闭任何可选的开发者或调试选项(如网络扫描日志、Wi-Fi 带宽监控等)。 - 重启设备验证连接
- 重启设备后请尝试重新连接 Wi-Fi 或 SoftAP 网络,并观察是否依然存在问题。
通过以上两种方案可以探索解决 Android 设备无法连接无互联网接入的 Wi-Fi 网段问题,建议根据实际情况选择合适的解决方案进行尝试。如仍遇困难,请参阅相关技术社区以获取更多帮助信息。
正文完