Android N 在任何信号环境下,dbm上的3G信号强度都不同于网络信号AP

在切换到 3G 的网络时,使用 Network Info Widge app测试 3G 的信号强度与设置中显示的信号强度不一致,而切换到 2G 或 4G 网络时,信号强度显示是一致。经分析导致 3G 网络显示信号强度不一致的原因是第三方 app 和设置中获取信号强度的计算公式不一样导致。

设置 中的3G 网络计算信号强度公式为:dBm = gsmRscpQdbm / 4,而第三方获取 3G 网络计算信号强度公式为:dBm = -113 + (2 * asu)。因此解决此问题的方法只需把设置 3G 网络计算信号强度公式修改为 dBm = -113 + (2 * asu)即可,此方法的修改不会影响到信号格显示的问题。

具体修改方法如下:

  • alps/vendor/mediatek/proprietary/frameworks/base/packages/FwkPlugin/src/com/mediatek/op/telephony/DefaultServiceStateExt.java
--- a/alps/vendor/mediatek/proprietary/frameworks/base/packages/FwkPlugin/src/com/mediatek/op/telephony/DefaultServiceStateExt.java
+++ b/alps/vendor/mediatek/proprietary/frameworks/base/packages/FwkPlugin/src/com/mediatek/op/telephony/DefaultServiceStateExt.java
@@ -304,7 +304,10 @@ public class DefaultServiceStateExt implements IServiceStateExt {
         int dBm;
         Log.d(TAG, "mapGsmSignalDbm() gsmRscpQdbm=" + gsmRscpQdbm + " asu=" + asu);
         if (gsmRscpQdbm < 0) {
-            dBm = gsmRscpQdbm / 4; //Return raw value for 3G Network
+            //dBm = gsmRscpQdbm / 4; //Return raw value for 3G Network
+            dBm = -113 + (2 * asu);
         } else {
             dBm = -113 + (2 * asu);
         }


  • alps/vendor/mediatek/proprietary/operator/OP01/frameworks/packages/FwkPlugin/src/com/mediatek/op/telephony/ServiceStateExtOP01.java
--- a/alps/vendor/mediatek/proprietary/operator/OP01/frameworks/packages/FwkPlugin/src/com/mediatek/op/telephony/ServiceStateExtOP01.java
+++ b/alps/vendor/mediatek/proprietary/operator/OP01/frameworks/packages/FwkPlugin/src/com/mediatek/op/telephony/ServiceStateExtOP01.java
@@ -129,7 +129,10 @@ public class ServiceStateExtOP01 extends DefaultServiceStateExt {
         int dBm;
 
         if (gsmRscpQdbm < 0) {
-            dBm = gsmRscpQdbm / 4; // Return raw value for TDD 3G network.
+            //dBm = gsmRscpQdbm / 4; // Return raw value for TDD 3G network.
+            dBm = -113 + (2 * asu);
         } else {
             dBm = -113 + (2 * asu);
         }


猜你喜欢

转载自blog.csdn.net/jydzm/article/details/85850318