首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >Android Services Library_android freeware

Android Services Library_android freeware

作者头像
全栈程序员站长
发布2022-11-10 20:40:02
发布2022-11-10 20:40:02
8540
举报

大家好,又见面了,我是你们的朋友全栈君。

对网络相关Api进行整理

需要权限

@RequiresPermission(android.Manifest.permission.ACCESS_NETWORK_STATE)

获取网络

  • 当前网络 manager.getActiveNetwork()
  • 动态网络回调 manager.registerNetworkCallback

网络的不同侧面

新的Api中网络的不同关注面被放到的不同的对象中

网络状态信息 manager.getNetworkInfo(network)

包括是否连接、连接状态(连接中、已连接、挂起、断开等),与其他网络设备的交互状态(DetailState, 如扫描、授权、分配地址等)

网络连接信息 manager.getLinkProperties(network)

网络连接信息包括IP、DNS、域名、路由等信息

如果需要获取动态的网络连接信息改变,可以注册回调,并使用这个Api

网络性能信息 manager.getNetworkCapabilities(network)

包括两方面

  • 是否能访问该类网络,关注能与不能
  • 当前该类网络是否能连通,关注目前有或没有该能力

另外该类还能预估当前网络的上行和下行带宽

打印信息

代码语言:javascript
复制
NetworkInfo : [
    type: WIFI[], 
    state: CONNECTED/CONNECTED, 
    reason: (unspecified), 
    extra: "Liking-Dev", 
    roaming: false, 
    failover: false, 
    isAvailable: true
]

LinkProperties : {
    InterfaceName: wlan0 
    LinkAddresses: [
        fe80::e6db:6dff:fefa:f720/64,
        172.16.100.105/24,
        ]  
    Routes: [
        fe80::/64 -> :: wlan0,
        172.16.100.0/24 -> 0.0.0.0 wlan0,
        0.0.0.0/0 -> 172.16.100.1 wlan0,
        ] 
    DnsAddresses: [
        114.114.114.114,
        223.5.5.5,
        ] 
    Domains: null 
    MTU: 0 
    TcpBufferSizes: 524288,1048576,2097152,262144,524288,1048576
}

NetworkCapabilities : [ 
    Transports: WIFI 
    Capabilities: INTERNET&NOT_RESTRICTED&TRUSTED&NOT_VPN&VALIDATED LinkUpBandwidth>=1048576Kbps 
    LinkDnBandwidth>=1048576Kbps 
    SignalStrength: -54
]

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/188080.html原文链接:https://javaforall.cn

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022年9月28日 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 需要权限
  • 获取网络
  • 网络的不同侧面
    • 网络状态信息 manager.getNetworkInfo(network)
    • 网络连接信息 manager.getLinkProperties(network)
    • 网络性能信息 manager.getNetworkCapabilities(network)
    • 打印信息
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档