title: 解决Pixel的WIFI网络连接受限问题
date: 2023-11-28
description: 解决Pixel的WIFI网络连接受限问题

解决Pixel的WIFI网络连接受限问题

原因

自 Android 5.0 起,谷歌引入了「Captive Portal」的机制,用于检测 WiFi网络认证是否正常。

该机制默认检测访问的是谷歌服务器,需要科学才能正常访问谷歌服务器,如若没有 WiFi就会出现网络受限的情况,WiFi图标上会出现一个感叹号标志,导致系统误以为你的网络不好,从而使网络不稳定。

解决方法

方式1:使用adb工具

无需root权限

  1. 命令行中输入
adb shell settings delete global captive_portal_https_url
adb shell settings delete global captive_portal_http_url
  1. 输入信息的服务器信息
adb shell settings put global captive_portal_http_url http://captive.v2ex.co/generate_204
adb shell settings put global captive_portal_https_url https://captive.v2ex.co/generate_204
  1. 切换为飞行模式,再切换回来。

补充说明:
也可用小米、华为的url
小米:
http://connect.rom.miui.com/generate_204
华为:
http://connectivitycheck.platform.hicloud.com/generate_204

方式2:修改AOSP源码

在AOSP源码中禁用「Captive Portal」机制

  1. 在AOSP目录下检索“NetworkMonitor.java”文件

AOSP 11.0.0_r41中文件在以下目录:
packages/moudules/NetworkStuack/src/com/android/server/connectivity/NetworkMonitor.java

有些版本在以下目录:frameworks/base/services/core/java/com/android/server/connectivity/NetworkMonitor.java

  1. 修改代码

mIsCaptivePortalCheckEnabled = getIsCaptivePortalCheckEnabled();

修改为

mIsCaptivePortalCheckEnabled = false;
Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐