Answers:
这很简单。在终端(需要root)或在adb shell
(不需要root)中,发出命令
settings put global captive_portal_detection_enabled 0
然后重启。应该禁用它。现有状态也可以通过以下命令进行验证
settings get global captive_portal_detection_enabled
响应“ null”表示尚未设置全局密钥值,Android会恢复为默认状态为开启并执行检测。如果禁用检测,将收到“ 0”响应。
更多信息:Android:如何在Android 4.2.2和4.3上删除“强制门户”检测
它也可以在5中使用。
settings put global captive_portal_mode 0
改用,请参阅jira.lineageos.org/browse/REGRESSION-620
在适用于Shamu的Android M开发者预览版(Nexus 6)以及该操作系统的其他版本中,captive_portal_server global
无论状态如何,操作系统都会使用captive_portal_detection_enabled
,以便确定WiFi网络的运行状况。
对于WiFi网络,它不仅会在强度图标上绘制一个感叹号,而且如果未成功通过该SSID curl
在URL中指定的URL ,它将在自动重新连接中将该SSID列入黑名单captive_portal_server global
。允许手动重新连接,但只有在captive_portal_detection_enabled
每次连接到该WiFi SSID并手动选择“使用此网络原样”时,该连接才会保持连接状态。此替代是临时的。
对于移动运营商网络,captive_portal_server
只能用于在强度图标上绘制感叹号,但将保持连接状态,并且如果连接正常,流量将会流动。
在已root用户的设备上,解决方案是重新启用(captive_portal_detection_enabled
如果已禁用它),连接到该WiFi网络,从强制门户弹出窗口的下拉菜单中选择“按原样使用此网络”,禁用您的移动网络数据集中在确定可以通过您的Wifi网络检索的网站上,方法是登录到强制门户,然后使用浏览器找到有效的网站。在那之后,您可以禁用captive_portal_detection_enabled
以防止讨厌的弹出窗口。
要重新启用您的captive_portal_detection
,如果您先前将其禁用,请发出以下命令:
settings put global captive_portal_detection_enabled 1
禁用移动网络(在“设置”-“数据使用情况”-“移动数据”-“关闭”下),以强制手机暂时将WiFi网络用于所有流量。一旦将所有设置都放在需要的位置,就不需要此设置。
Android M似乎要求网站能够成功加载并且不会主动返回204(无内容)。
几个选项包括但不限于
androidcheck.kiritostudio.com
captive.apple.com
www.textise.net
the network router
localhost
127.0.0.1 (if you have an onboard simple HTTP server)
and the list goes on...
找到适合您的WiFi网络的设备(通常需要更多的想象力,并尝试在身份验证之前不喜欢HTTPS流量的公司Web网关代理之后),然后可以保存服务器。
通过在启用了root的终端应用程序中运行此服务器来保存服务器,将示例URL替换为您希望的URL:
settings put global captive_portal_server androidcheck.kiritostudio.com
重新启动设备。试试看。一旦您对图标上的感叹号的行为感到满意,最后一步就是禁用捕获的门户弹出窗口,这是近十年来最不幸的发明之一。
发出命令:
settings put global captive_portal_detection_enabled 0
如果发现自己在其他国家或出现问题的WiFi环境中,不幸的是,您需要从头开始重复上述步骤,重新启用captive_portal_detection_enabled
,重新启动,找到合适的服务器,然后再禁用门户检测。
您可以为其设置强制门户服务器地址。
settings put global captive_portal_server g.cn
然后,重新启动手机。
PS:在此之前,您可以验证服务器是否可用。