0

Galaxy S2で「getGsmSignalStrength」でGSM信号強度を追跡してみました。しかし、それは値99を出し続けます。電話がシグナル4バーを受け取ったときでさえ、それは99を言いました.

これが私のコードです

public class MyPhoneStateListener extends PhoneStateListener  {

static SignalStrength mSignalStrength;
static int signal;

public static void signal() 
{

    signal = mSignalStrength.getGsmSignalStrength();        
}
}

それから私は別のクラスからそれを呼び出しました、

         signal2 = MyPhoneStateListener.signal;

       if (signal2 <= 2 || signal2 == 99) strength="No signal";
       else if (signal2 >= 12) strength="Very strong";
        else if (signal2 >= 8) strength="Strong";
        else if (signal2 >= 5) strength="Weak";
        else strength="Very weak"; 

信号バーを監視していたにもかかわらず、常に「信号なし」と表示され、2 つまたは 3 つのバーが表示されました。

なぜそれが私にその価値を与え続けるのか、またはそれを解決する方法を知っている人はいますか? ご回答またはご回答いただければ幸いです。

4

1 に答える 1