android获取手机信号强度

By findhao at 2017-08-29 • 0人收藏 • 185人看过

在 2G 网络下:dBm = -113+2*asu
在 4G 网络下:dBm = -140+asu


已整理发表在

https://www.findhao.net/easycoding/2105


5 个回复 | 最后更新于 2017-08-29
2017-08-29   #1

dBm 和 asu 都用来表示手机信号强度,其中 dBm 是通用单位,asu 是安卓手机特有单位。

dBm 是一个表示功率绝对值的值(也可以认为是以 1mW 功率为基准的一个比值),计算公式为:10log(功率值/1mw)。

[例] 如果功率 P 为 1mw,折算为 dBm 后为 0dBm。
[例] 对于 0.01mW 的功率,按 dBm 单位进行折算后的值应为:10log(0.01/1) = -20dBm。

这个数值越大,表明信号越好。由于手机信号强度一般较小,折算成为 dBm 一般都是负数,如下图所示:

手机信号强度单位:dBm 和 asu

截图显示手机网络类型是 LTE,即 4G 网络,所以 dBm 和 asu 换算关系应该是:dBm = -140+asu。

asu 是英文 alone signal unit 的简写,是 google 为 android 设备定义的信号强度单位。


2017-08-29   #2

信号多少才算强?dbm和asu信号单位解析


http://www.igao7.com/news/201406/0116-ben-dbm.html

2017-08-29   #3

android 官方api

https://developer.android.com/reference/android/telephony/SignalStrength.html

2017-08-29   #4

通过解析signalStrength的参数获得移动4G的强度

http://blog.csdn.net/cdzz11/article/details/52197732

2017-08-29   #5

参考的一个小项目 https://github.com/weilinhu/mylibaray

登录后方可回帖

Loading...