Android 获取当前信号强度

Android 获取当前信号强度,android,Android,我想通过点击任何按钮获得android设备中的当前信号强度。 这是我写的 public static int getSignal(Context c) { class MyPhoneStateListener extends PhoneStateListener { int signal; @Override public void onSignalStrengthsChanged(SignalStrength signalStreng

我想通过点击任何按钮获得android设备中的当前信号强度。
这是我写的

public static int getSignal(Context c) {
    class MyPhoneStateListener extends PhoneStateListener {

        int signal;

        @Override
        public void onSignalStrengthsChanged(SignalStrength signalStrength) {
            super.onSignalStrengthsChanged(signalStrength);
            signal = signalStrength.getGsmSignalStrength();
        }
    }
    TelephonyManager Tel;
    MyPhoneStateListener MyListener;
    MyListener = new MyPhoneStateListener();
    Tel = (TelephonyManager) c.getSystemService(Context.TELEPHONY_SERVICE);
    Tel.listen(MyListener, PhoneStateListener.LISTEN_SIGNAL_STRENGTHS);
    Tel.listen(MyListener, PhoneStateListener.LISTEN_NONE);
    return MyListener.signal;
}
代码,但它总是返回0

请有人告诉我如何获得当前信号强度

代码,但它总是返回0

当然<代码>OnSignalStrengthChanged()尚未调用。而且,你不再用你的
LISTEN\u NONE
行来听,所以你可能永远也听不到

请任何人告诉我如何获得当前信号强度


一旦检测到信号强度发生变化,如果您去掉
LISTEN\u NONE
行,您将在
onSignalStrengthChanged()
中获得信号强度。仅在使用完侦听器后使用
LISTEN\u NONE

现在无法获取当前信号强度?如果我不想等待一段不确定的时间来等待OnSignalStrengthChanged()做点什么呢?如果你找到解决方案,请告诉我?嗯-详细说明注册PhoneStateListener后,你会得到即时通知。还是你的答案