leafee98-blog/content/essays/change-the-android-network-protal-provider.md

34 lines
1.9 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

---
title: "修改 Android 探测网络状态所用的服务提供者"
date: 2021-12-25T16:57:41+08:00
tags: []
categories: []
weight: 50
show_comments: true
draft: false
---
Android 会间歇探测网络状态,途径为访问一个 URL能拿到预期的响应就认为网络正常一般使用 204 (no content) 状态码作为标准的响应,其他响应可能也会接受(存疑)
如果需要覆盖 Android 默认使用的探测服务提供者(一般是 Google用到的命令类似下面这样来源参考 2
```
settings put global captive_portal_mode 1
settings put global captive_portal_use_https 1
settings put global captive_portal_http_url http://connect.rom.miui.com/generate_204
settings put global captive_portal_https_url https://connect.rom.miui.com/generate_204
settings put global captive_portal_fallback_url http://captive.v2ex.co/generate_204
settings put global captive_portal_other_fallback_urls http://www.google.cn/generate_204
```
captive_portal_mode 为 0 表示禁止探测网络状态,为 1 表示当网络需要登录时提示用户,为 2 表示当网络需要登录时断开此网络并不再连接到此网络;其他的几个变量的名字具有良好的自解释性,不再赘述(详细的解释见参考 1
一些公共的网络连通性测试服务见参考 4
参考:
1. [Captive Portal parameters — answered by Andy Yan](https://android.stackexchange.com/questions/186993/captive-portal-parameters/186995#186995)
2. [chenshaoju/script running adb shell ](https://gist.github.com/chenshaoju/4f79bfe82ad63d9437744c282b8af35d)
3. [Change the server that Android uses for an internet connectivity check?](https://android.stackexchange.com/questions/134963/change-the-server-that-android-uses-for-an-internet-connectivity-check)
4. [检测网络联通性&generate_204服务汇总与评测 — 李德银's blog](https://imldy.cn/posts/99d42f85/)