概述
Android6.0之后新增加了网络能力的标识类:NetworkCapabilities.java
路径:frameworks/base/core/java/android/net/NetworkCapabilities.java
public boolean hasCapability(int capability) {
if (capability < MIN_NET_CAPABILITY || capability > MAX_NET_CAPABILITY) {
return false;
}
return ((mNetworkCapabilities & (1 << capability)) != 0);
}
public NetworkCapabilities addCapability(int capability) {
if (capability < MIN_NET_CAPABILITY || capability > MAX_NET_CAPABILITY) {
throw new IllegalArgumentException("NetworkCapability out of range");
}
mNetworkCapabilities |= 1 << capability;
return this;
}
因此可以通过判断这个标记,来判断网络的连通性。
注:目前看来这只是一个用于判断的标识!!!
但是为什么会出现标题的问题呢?
原因是测试网络链接性的时候Android原生访问的是国外谷歌的网址,在国内是无法链通的,所以你懂得???
代码逻辑如下:
frameworks/base/services/core/java/com/android/server/connectivity/NetworkMonitor.java
所以从代码逻辑看,要想去掉此显示,只要把如下初始值改为0即可:
frameworks/base/packages/SetttinsProvider/res/values/defaults.xml路径下的
def_captive_portal_detection_enabled属性初始值改为0
最后
以上就是单纯流沙为你收集整理的Android wifi提示已连接但是无法访问网络的全部内容,希望文章能够帮你解决Android wifi提示已连接但是无法访问网络所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复