我想在任何按钮然后在Android设备当前的信号强度。结果我写了这个
公共静态INT getSignal(上下文C){ 类MyPhoneStateListener扩展PhoneStateListener { INT信号; @覆盖 公共无效onSignalStrengthsChanged(SignalStrength signalStrength){ super.onSignalStrengthsChanged(signalStrength); 信号= signalStrength.getGsmSignalStrength(); } } TelephonyManager电话; MyPhoneStateListener myListener的; myListener的=新MyPhoneStateListener(); 电话=(TelephonyManager)c.getSystemService(Context.TELEPHONY_SERVICE); Tel.listen(myListener的,PhoneStateListener.LISTEN_SIGNAL_STRENGTHS); Tel.listen(myListener的,PhoneStateListener.LISTEN_NONE); 返回MyListener.signal;}
code,但它总是返回我0
请有人告诉我如何获取当前信号强度。
解决方案code,但它总是返回我0
当然。 onSignalStrengthsChanged()
将还没有被调用。而且,你停止与 LISTEN_NONE
在线收听,所以你可能永远不会
请任何机构告诉我如何获取当前信号强度。
您将获得 onSignalStrengthsChanged的信号强度()
,一旦变化已经在信号强度检测,如果你摆脱了 LISTEN_NONE
行。仅使用 LISTEN_NONE
当你与听众进行。
I want to get current Signal Strengths in android device on any button click. I have written this
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;
}
code but it always returns me 0
Please somebody tell me how to get current Signal Strengths.
解决方案code but it always return me 0
Of course. onSignalStrengthsChanged()
will not have been called yet. And, you stop listening with your LISTEN_NONE
line, so you will probably never
Please any body tell me how to get current Signal Strengths.
You will get the signal strength in onSignalStrengthsChanged()
, once a change has been detected in the signal strength, if you get rid of the LISTEN_NONE
line. Only use LISTEN_NONE
when you are done with the listener.