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 つのバーが表示されました。
なぜそれが私にその価値を与え続けるのか、またはそれを解決する方法を知っている人はいますか? ご回答またはご回答いただければ幸いです。