I开发者_开发百科 want to get current Signal Strengths in android device on any button click.
I have written thispublic 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.
精彩评论