Android如何判断一个Network的Internet Access
2017-03-22 14:02:04 0 举报
在Android中,我们可以使用ConnectivityManager类来判断一个网络是否有Internet访问。首先,我们需要获取ConnectivityManager的实例,然后通过它来获取NetworkInfo对象,这个对象包含了网络的状态信息。我们可以通过调用NetworkInfo对象的isAvailable()方法来判断网络是否可用,如果返回true,则表示网络有Internet访问;如果返回false,则表示网络没有Internet访问。此外,我们还可以通过getType()方法来获取网络的类型,例如WIFI或移动数据等。
作者其他创作
大纲/内容
isCaptivePortal() return 200~399
APK process
CaptivePortalState
NetworkAgent
ConnectedState
config.numNoInternetAccessReports += 1;
WLAN Driver加载失败:查看Driver的详细log,进一步定位RootCause(若问题很底层的话,也可以提QCOM case)
isCaptivePortal() return 204
CMD_UNWANTED_NETWORK
NetworkMonitor
wpa_supplicnt启动失败:查看详细的logcat,进一步定位RootCause
config.numNoInternetAccessReports = 0;config.validatedInternetAccess = true;
PackageManagerService
CMD_REEVALUATE
CMD_NETWORK_STATUS
ValidatedState
WifiStateMachine
EvaluatingState
VALID_NETWORK
Firmware加载失败:提QCOM case
ConnectivityService.NetworkStateTrackerHandler
Zygote
DefaultState
CMD_REPORT_NETWORK_STATUS
ActivityManagerService
ConnectivityService
查询UIDGID
networkStatus()
INVALID_NETWORK
CMD_NETWORK_CONNECTED
send request
fork
0 条评论
下一页