[RK3288][Android6.0] WiFi之NetworkMonitor对评分机制的影响

本文介绍了在Rockchip平台和Android 6.0系统中,WiFi连接的评分如何受到NetworkMonitor的影响。NetworkMonitor负责检测网络的有效性,当网络验证通过后,将状态更新为NET_CAPABILITY_VALIDATED。初始评分可能较低,如20,但在确认网络通信正常后,评分会上升到60,并触发新的评分更新。这一过程确保了只有能有效通信的网络才会获得较高的评分。
摘要由CSDN通过智能技术生成

Platform: Rockchip
OS: Android 6.0
Kernel: 3.10.92

由来:
在上一篇文章有提到getCurrentScore()会对NetworkAgent传过来的值根据当前的networkCapabilities决定是否扣分,而NetworkMonitor正是基于管理网络连接状态而诞生的,它用来检测的网络有效性,当有效是,会将networkCapabilities的状态从无效更新到NET_CAPABILITY_VALIDATED状态
创建:
NetworkMonitor的创建在NetworkAgentInfo()的时候创建

public NetworkAgentInfo(...)
{
    //NetworkAgent共生死
    networkMonitor = connService.createNetworkMonitor(context, handler, this, defaultRequest);
}
public NetworkMonitor createNetworkMonitor(Context context, Handler handler,
        NetworkAgentInfo nai, NetworkRequest defaultRequest) {
    return new NetworkMonitor(context, handler, nai, defaultRequest);
}

调用:
NetworkAgent注册时调用updateNetworkInfo():
ConnectivityService.java

private void updateNetworkInfo(NetworkAgentInfo networkAgent, NetworkInfo newInfo) {
    //这是网络已经连接上,但是能否连通有待验证
    networkAgent.networkMonitor.sendMessage(NetworkMonitor.CMD_NETWORK_CONNECTED);
}

这是NetworkMonitor是处于默认状态的
NetworkMonitor.java
processMessage -> //DefaultState状态
 transitionTo(mEvaluatingState) -> //切换到EvaluatingState
 enter ->
  sendMessage -> //CMD_REEVALUATE,发给自己处理
 processMessage

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值