Android --- 5G网络,jetpack库
连接网络后,要对网络进行检测,判断是否连接了5G网络。Android 11及之后的版本添加了5G API,可以调用此API来检测设备是否连接了5G网络(这是5G设备的检测)。若是没有5G设备,也可以使用30.0.22以及之后版本的Android SDK模拟器进行5G网络检测,这是针对5G提供的模拟器支持。
检测5G网络的具体实现:使用TelephonyManager的监听方法
private fun getNetworkType(){
val tManager = getSystemService(Context.TELEPHONY_SERVICE) as TelephonyManager
tManager.listen(object : PhoneStateListener() {
@RequiresApi(Build.VERSION_CODES.R)
override fun onDisplayInfoChanged(telephonyDisplayInfo: TelephonyDisplayInfo) {
if (ActivityCompat.checkSelfPermission(this@Android11Test2Activity, android.Manifest.permission.READ_PHONE_STATE) != android.content.pm.PackageManager.PERMISSION_GRANTED) {
return
}
super.onDisplayInfoChanged(telephonyDisplayInfo)
when(telephonyDisplayInfo.networkType) {
TelephonyDisplayInfo.OVERRIDE_NETWORK_TYPE_LTE_ADVANCED_PRO -> showToast(“高级专业版 LTE (5Ge)”)
TelephonyDisplayInfo.OVERRIDE_NETWORK_TYPE_NR_NSA -> showToast(“NR (5G) - 5G Sub-6 网络”)
TelephonyDisplayInfo.OVERRIDE_NETWORK_TYPE_NR_NSA_MMWAVE -> showToast(“5G+/5G UW - 5G mmWave 网络”)
else -> showToast(“other”)
}
}
}, PhoneStateListener.LISTEN_DISPLAY_INFO_CHANGED)
}
结果对应:
返回类型解释:
进行流量计费的判断
确定连接的是5G网络后,在应用使用5G网络时需要判断此时的网络是不是按流量计费的。5G网络的流量很庞大,进行流量计费的判断是很重要的。因此,Android 11添加了NET_CAPABILITY_TEMPORARILY_NOT_METERED功能来标记此时使用的网络是否不按流量计费
检测流量计费方法:先监听网络,然后在网络回调中判断
val manager = getSystemService(CONNECTIVITY_SERVICE) as ConnectivityManager
manager.registerDefaultNetworkCallback(object : ConnectivityManager.NetworkCallback() {
override fun onCapabilitiesChanged(network: Network, networkCapabilities: NetworkCapabilities) {
super.onCapabilitiesChanged(network, networkCapabilities)
最后
在此为大家准备了四节优质的Android高级进阶视频:
架构师项目实战——全球首批Android开发者对Android架构的见解
链接:GitHub 免费获取!
附相关架构及资料
%9D%A2%E8%AF%95%E6%8B%BF%E9%AB%98%E8%96%AA%EF%BC%81.md)
附相关架构及资料
[外链图片转存中…(img-mUlp2tLy-1645091655456)]
领取获取往期Android高级架构资料、源码、笔记、视频。高级UI、性能优化、架构师课程、NDK、混合式开发(ReactNative+Weex)微信小程序、Flutter全方面的Android进阶实践技术,群内还有技术大牛一起讨论交流解决问题。
Android --- 5G网络,jetpack库相关推荐
- Android --- 5G网络,android系统开发教程
Android - 5G网络 连接5G网络 检测5G网络 进行流量计费的判断 进行带宽估测 Android - 5G网络 ======================================= ...
- Android Jetpack 库架构组件 Room+Paging 基础使用
上篇文章 Android Jetpack 库架构组件 ViewModel+LiveData 基础使用 的示例2中,使用 ViewModel+ LiveData 的方式实现了数据库数据查询并分页显示的效 ...
- android post请求添加公共参数_XHttp2 一个功能强悍的网络请求库
XHttp2 一个功能强悍的网络请求库,使用RxJava2 + Retrofit2 + OKHttp组合进行封装.还不赶紧点击使用说明文档,体验一下吧! 项目地址 关于我 https://github ...
- android判断网络类型5G,5G意识已经普及 但你知道5G网络有哪些类型吗
原标题:5G意识已经普及 但你知道5G网络有哪些类型吗 尽管5G技术尚未得到广泛采用,但美国大多数消费者都意识到5G及其超快数据传输的希望,这些数据能够在移动设备上提供出色的多媒体流和增强的游戏体验. ...
- Android开源项目及库整理总结
自己总结的Android开源项目及库. github排名https://github.com/trending, github搜索:https://github.com/search UI Aweso ...
- GitHub中Android开源项目及库汇总
几个常用网站: github排名: https://github.com/trending , github搜索: https://github.com/search codeKK : ht ...
- Android 第三方库--2017年Android开源项目及库汇总
转自:http://blog.csdn.net/jsonnan/article/details/62215287 东西有点多,但是资源绝对nice,自己都全部亲身体验过了,大家可放心使用 github ...
- 转载GitHub中Android开源项目及库汇总
转自:https://blog.csdn.net/u013472738/article/details/78153077 几个常用网站: github排名: https://github.com/tr ...
- 澳禁止华为参与5G网络建设;锤子将编写自己的OS;国产处理器兆芯可运行Windows,已试制出Intel i5级处理器丨Q新闻...
编辑 | 小智 本周要闻:澳大利亚禁止华为参与 5G 网络建设:罗永浩自掏腰包为开源社区捐款,并表示锤子将自己编写 OS:亚马逊云计算大降价,服务器价格砍掉一半:Deepin 15.7 发布:金色财经 ...
最新文章
- vbs 服务器获取输入信息,取得服务器上用户组列表脚本之VBS版
- 同事把 Redis用成这鬼样子,真坑!
- codeforces cf 521(div3) E题
- 移动端下网页border:1px显示
- 对malloc和free的思考
- 微软发布ASP.NET MVC 1.0正式版
- python install causes ModuleNotFoundError: No module named ‘_swigfaiss‘
- 一文浓缩 60 年,程序员不可不知的开源秘史!
- mysqladvisor安装
- Filenet公布首批候选自治社区
- 程序员的算法趣题 python3 - (4)
- eyoucms分页通用css样式
- 第一章、基于Ruoyi-Vue开发脚手架之对象存储实现
- 关于谷歌webrtc源码国内镜像的使用问题,以及Kurento媒体服务器
- 如何区分自己mac电脑的CUP型号
- php升序排列,php关联数组怎么按键名实现升序排列
- 树莓派从零开始快速入门系列汇总
- 王者荣耀改名神器助手微信小程序
- 计算机主机的拆卸的注意事项,如何进行电脑主机除尘及板卡维护
- 「补课」进行时:设计模式(5)——从 LOL 中学习代理模式
热门文章
- HZNU2509 曲院风荷——折半搜索
- 树莓派更改WiFi信息
- 云原生个人线路 Docker容器化
- appium重启报错:Could not proxy command to the remote server. Original error: socket hang up
- iftop工具(网卡流量监控软件)的使用
- 利用sikuli插件辅助实现自动化脚本
- scratch 学习网址:
- 人工智能的知识图,人工智能学习路线
- http://localhost/myphpsite/index.php
- 日期推算/日历(小程序)