NET_CAPABILITY_VALIDATED 检测android外网是否可用
// 表示网络**理论上**可以提供互联网访问
// 比如 WiFi 连接、移动数据连接等
capabilities.hasCapability(NetworkCapabilities.NET_CAPABILITY_INTERNET)含义:网络接口具备访问互联网的潜力
✅ WiFi 已连接但需要登录认证
✅ 移动数据已连接但欠费停机
✅ VPN 已连接但配置错误
❌ 不能保证实际可以访问互联网
// 表示网络**实际上**已经通过验证可以访问互联网
capabilities.hasCapability(NetworkCapabilities.NET_CAPABILITY_VALIDATED)含义:网络已经通过系统验证确实可以访问互联网
✅ 系统已完成网络连通性测试
✅ 可以正常进行 HTTP/HTTPS 请求
❌ 验证可能有延迟(几秒钟)
❌ 在某些定制 ROM 上可能不可靠
NET_CAPABILITY_INTERNET | 低 | 无 | 基础网络连接检查 |
NET_CAPABILITY_VALIDATED | 高 | 有(1-3秒) | 外网可用性检查 |
| 两者结合 | 最高 | 中等 | 生产环境推荐 |
结论:对于判断外网是否可用,NET_CAPABILITY_VALIDATED 比 NET_CAPABILITY_INTERNET 更准确,但建议两者结合使用,并在关键场景中添加主动验证。
