Android Services Library_android freeware

Android Services Library_android freeware对网络相关Api进行整理需要权限@RequiresPermission(android.Manifest.permission.ACCESS_NETWORK_STATE)获取网络当前网络manager.getActiveNetwork()动态网络回调manager.registerNetworkCallback网络的不同侧面新的Api中网络的不同关注面被放到的不同的对象中…


Jetbrains全系列IDE稳定放心使用

对网络相关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)

包括两方面

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

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

打印信息

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.net/188080.html原文链接:https://javaforall.net

赞 (0)
全栈程序员-站长的头像全栈程序员-站长

相关推荐

  • javascript基础修炼(3)—What’s this(下)

    javascript基础修炼(3)—What’s this(下)

    2021年6月10日
  • xsync同步脚本的使用

    xsync同步脚本的使用xsync同步脚本的使用1.简介在集群机器配置时,经常需要将一个文件或目录copy到同样的多台集群上,如果一个一个机器去复制,比较麻烦。如果有一个办法,通过一条命令就可以实现这个目的,就简单多了。xsync就是这样一个同步脚本。xsync其实是对rsync脚本的二次封装,脚本内容可以根据自己需要进行修改。2.配置集群hostname2.1配置hostname文件在每台机器执行命令c…

    2022年6月2日
  • git 修改用户名以及邮箱_git配置了用户名还要输入

    git 修改用户名以及邮箱_git配置了用户名还要输入1.查看gitconfiguser.name查看用户名gitconfiguser.email查看邮箱gitconfig–list也可以看到2.修改修改的话gitconfig–globaluser.name“xxx”修改用户名修改邮箱同理

    2022年9月4日
  • python nonlocal关键字「建议收藏」

    python nonlocal关键字「建议收藏」pythonnonlocal关键字non-local非局部变量如果两个嵌套函数,一个函数A里面又包含了一个函数B,那么对于B中的名称来说A中的作用域就为nonlocal作用域:enclosing作用域—外层非全局作用域如果要在内层函数中修改外层变量,则需要用到nonlocal关键字defouter():num=10print(num)definner():nonlocalnum#内层函数未定义此变量n

    2022年9月3日
  • \r,\n,\r\n的区别

    \r,\n,\r\n的区别

    2021年9月18日
  • 常量字符串过长的解决办法_未受控的格式化字符串

    常量字符串过长的解决办法_未受控的格式化字符串如果使用String str = “这是一个很长很长很长 你需要的字符串。”; 出现异常不能正常编译运行时,可以使用下方:StringBuilder sb = new StringBuilder();sb.append(“这是一个很长很长”);sb.append(“很长 你需要的字符串”);字符串太长或字符串其他情况下可使用 : StringBuilder sb = new StringBuilder()…

    2022年8月19日

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号