GSM signal strength Android JB4.3

キャンセル
次の結果を表示 
表示  限定  | 次の代わりに検索 
もしかして: 

GSM signal strength Android JB4.3

ソリューションへジャンプ
1,413件の閲覧回数
raghavendraning
Contributor I

Hi,

   I was using Android 4.0.4,IMX6sl.In this case GSM signal strength was fine.Later we migrated to JB4.3,with the same hardware environment.

But my GSM signal strenth is very poor.

ラベル(2)
タグ(4)
0 件の賞賛
返信
1 解決策
1,048件の閲覧回数
max_tsai
NXP Employee
NXP Employee

hi,

Android Framework thinks there is LTE signal, even there is GSM signal only as the below.

"frameworks/base/telephony/java/android/telephony/SignalStrength.java"

       level = getLteLevel();
       if (level == SIGNAL_STRENGTH_NONE_OR_UNKNOWN) {
                 level = getGsmLevel();  // <--- Won't enter this line, even GSM signal only.
       }

You can add some conditions to let getLteLevel() return SIGNAL_STRENGTH_NONE_OR_UNKNOWN. The following is for reference.

--

diff --git a/telephony/java/android/telephony/SignalStrength.java b/telephony/java/android/telephony/SignalStrengt

index f998935..88fd379 100644

--- a/telephony/java/android/telephony/SignalStrength.java

+++ b/telephony/java/android/telephony/SignalStrength.java

@@ -743,6 +743,9 @@ public class SignalStrength implements Parcelable {

        if (DBG) log("getLTELevel - rsrp:" + mLteRsrp + " snr:" + mLteRssnr + " rsrpIconLevel:"

                + rsrpIconLevel + " snrIconLevel:" + snrIconLevel);

+

+      if (mLteRsrp == SignalStrength.INVALID) return

+ SIGNAL_STRENGTH_NONE_OR_UNKNOWN;

+

        /* Choose a measurement type to use for notification */

        if (snrIconLevel != -1 && rsrpIconLevel != -1) {

            /*

---

Regards,

Max

元の投稿で解決策を見る

0 件の賞賛
返信
2 返答(返信)
1,049件の閲覧回数
max_tsai
NXP Employee
NXP Employee

hi,

Android Framework thinks there is LTE signal, even there is GSM signal only as the below.

"frameworks/base/telephony/java/android/telephony/SignalStrength.java"

       level = getLteLevel();
       if (level == SIGNAL_STRENGTH_NONE_OR_UNKNOWN) {
                 level = getGsmLevel();  // <--- Won't enter this line, even GSM signal only.
       }

You can add some conditions to let getLteLevel() return SIGNAL_STRENGTH_NONE_OR_UNKNOWN. The following is for reference.

--

diff --git a/telephony/java/android/telephony/SignalStrength.java b/telephony/java/android/telephony/SignalStrengt

index f998935..88fd379 100644

--- a/telephony/java/android/telephony/SignalStrength.java

+++ b/telephony/java/android/telephony/SignalStrength.java

@@ -743,6 +743,9 @@ public class SignalStrength implements Parcelable {

        if (DBG) log("getLTELevel - rsrp:" + mLteRsrp + " snr:" + mLteRssnr + " rsrpIconLevel:"

                + rsrpIconLevel + " snrIconLevel:" + snrIconLevel);

+

+      if (mLteRsrp == SignalStrength.INVALID) return

+ SIGNAL_STRENGTH_NONE_OR_UNKNOWN;

+

        /* Choose a measurement type to use for notification */

        if (snrIconLevel != -1 && rsrpIconLevel != -1) {

            /*

---

Regards,

Max

0 件の賞賛
返信
1,048件の閲覧回数
raghavendraning
Contributor I

Hi,

What you pointing is exactly correct.

Thanks for your response.

0 件の賞賛
返信