[FAQ19312]Android7.0状态栏信号格显示感叹号

[DESCRIPTION]
 Android7.0版本信号格上偶尔显示感叹号,参考下图红框处。
 
 
 
[SOLUTION]
这是Android7.0上才会出现的现象
 
原因是因为应用会调用ConnectivityManager.reportNetworkConnectivity()方法去检查网络连接
(从目前遇到状况来看都是GMS应用发起的,如下面的UID 10013)
11-10 14:20:35.284912   920   935 I am_pss  : [21026,10013,com.google.android.gms,17689600,11747328,240640]
 
11-10 14:20:35.209009   920  4643 D NetworkMonitor/NetworkAgentInfo [MOBILE (HSPA+) - 100]: Forcing reevaluation for UID 10013
11-10 14:20:35.257828 327 21390 D libc-netbsd: res_queryN name = captive.apple.com succeed
11-10 14:20:35.259380 920 4643 D NetworkMonitor/NetworkAgentInfo [MOBILE (HSPA+) - 100]: PROBE_DNS OK 50ms, captive.apple.com=104.100.98.138
11-10 14:20:35.762046   920  4643 D NetworkMonitor/NetworkAgentInfo [MOBILE (HSPA+) - 100]: PROBE_HTTP http://captive.apple.com/generate_204 time=502ms ret=200 headers={null=[HTTP/1.1 200 OK], Connection=[close], Content-Length=[68], Content-Type=[text/html], Date=[Thu, 10 Nov 2016 06:20:36 GMT], X-Android-Received-Millis=[1478758835761], X-Android-Response-Source=[NETWORK 200], X-Android-Selected-Protocol=[http/1.1], X-Android-Sent-Millis=[1478758835481]}
 
Android7.0默认连接server:captive.apple.com
正常状态下连接这个server正常(参考下图)
 
状态栏拿到的inetCondition值为1,则不会显示感叹号
11-10 14:20:59.546099 21081 21182 D NetworkController.MobileSignalController(1): mCurrentState.inetCondition = 1
 
当连接captive.apple.com出现异常时,比如如下状况
11-10 14:36:51.740333 920 4643 D NetworkMonitor/NetworkAgentInfo [MOBILE (HSPA) - 100]: Forcing reevaluation for UID 10013
11-10 14:36:51.758350 920 4643 D NetworkMonitor/NetworkAgentInfo [MOBILE (HSPA) - 100]: PROBE_DNS OK 18ms, captive.apple.com=23.66.236.14
11-10 14:37:01.777573 920 4643 D NetworkMonitor/NetworkAgentInfo [MOBILE (HSPA) - 100]: Probably not a portal: exception java.net.SocketTimeoutException: connect timed out
11-10 14:37:01.778654 920 1531 D ConnectivityService: NetworkAgentInfo [MOBILE (HSPA) - 100] validation failed
 
net log看到的状况是连接23.66.236.14这个地址connection timeout
 
这种情况下就会导致状态栏拿到的mCurrentState.inetCondition为0,将显示感叹号。
11-10 14:37:01.793066 22688 22733 D NetworkController.MobileSignalController(1): mCurrentState.inetCondition = 0
 
如果贵司不希望显示感叹号,可以参考如下方法修改:
 
如果需要分析感叹号出现的原因,则需要完整的Mtlog来分析跟captive.apple.com的连接状况。
 
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值