3 信号格的获取

MobileSignalController

    @Override    public int getCurrentIconId() {        if (mCurrentState.iconGroup == TelephonyIcons.CARRIER_NETWORK_CHANGE) {            return SignalDrawable.getCarrierChangeState(getNumLevels());        } else if (mCurrentState.connected) {            int level = mCurrentState.level; //信号强度等级,即信号格            if (mConfig.inflateSignalStrengths) { //系统默认false,不走该分支                level++;            }            return SignalDrawable.getState(level, getNumLevels(),                    mCurrentState.inetCondition == 0);        } else if (mCurrentState.enabled) {            return SignalDrawable.getEmptyState(getNumLevels());        } else {            return 0;        }    }对于mCurrentState.level 信号格的等级获取是在函数updateTelephony方法中有        if (mCurrentState.connected) {            if (!mSignalStrength.isGsm() && mConfig.alwaysShowCdmaRssi) {                mCurrentState.level = mSignalStrength.getCdmaLevel();            } else {                mCurrentState.level = mSignalStrength.getLevel();            }            /// M: Customize the signal strength level. @ {            mCurrentState.level = mStatusBarExt.getCustomizeSignalStrengthLevel(                    mCurrentState.level, mSignalStrength, mServiceState);            /// @ }        }

 因此,从该处就明白了,信号等级的强度和显示刷新就会回到Android 8.1 (O)信号强度介绍和定制一开始讨论的地方。

参考链接:SystemUI 之状态上的手机信号显示

对于dB和dBm的介绍:

1 dB:一个表征相对值的值,纯粹的比值,只表示两个量的相对大小关系,无单位;当考虑甲的功率相比于乙的功率大或小多少个dB时,按照下面的计算公式:10log(甲的功率/乙的功率),如果采用两者的电压比计算,要用20log(甲的电压/乙的电压)

例 甲的功率比乙的功率大一倍,那么10lg(甲的功率/乙的功率)=10lg2 = 3dB.也就是说,甲的功率比乙的功率大3 dB。

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

[例]如果功率P为1mw,折算为dBm后为0dBm。

[例]对于40W的功率,按dBm单位进行折算后的值应为:

10log(40W/1mw)=10log(40000)=10log4+10log10000=46dBm。

总之,dB是两个量之间的比值,表示两个量间的相对大小,而dBm则是表示功率绝对大小的值。在dB,dBm计算中,要注意基本概念,

用一个dBm减另外一个dBm时,得到的结果是dB,如:30dBm - 0dBm = 30dB。

在安卓手机设置里,我们可以看到关于信号强度的状态信息,里面可以看到关于信号强度的一项,单位为dBm和asu。其中dBm(1毫瓦的分贝数)是衡量手机信号强度的通用指标,asu(alone signal unit 独立信号单元)是Google给Android手机定义的特有信号单位, 它们之间的关系是:dBm =-113+2*asu

更多相关文章

  1. android 修改wifi信号强度
  2. android获取bluetooth的信号强度(RSSI)
  3. Android Telephony —— 手机信号实时变化源码分析过程记录
  4. 开发者大会传递信号:Android开发者将越来越赚钱?
  5. Android wifi信号强弱检测
  6. Android智能手机搜索不到路由器无线信号怎么办?
  7. 代码实现android手机信号监听
  8. android 获取wifi 信号质量

随机推荐

  1. android app --- 快速接入云片网短信验证
  2. Android一键分享至社交平台
  3. [置顶] android动画详解一 概述
  4. android上下文菜单Context Menu
  5. Android(安卓)使用极光推送自定义消息打
  6. android多线程详解之Handler
  7. Android(安卓)修改字体,跳不过的 Typeface
  8. 【Android(安卓)Advanced Training - 06
  9. Android多人视频聊天应用的开发(三)多人聊
  10. Android(安卓)应用瘦身,从 18MB 到 12.5MB