我尝试用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";
它总是说“没有信号”,即使我正在看信号条,它显示了两个或三个条形。
有谁知道为什么它一直给我这个价值或如何解决它?我非常感谢您的回答或回复。
答案 0 :(得分:0)
将mSignalStrength初始化为以下代码:
mSignalStrength = PhoneStateListener.LISTEN_SIGNAL_STRENGTHS