You are completely right, I didn't even thought about the possibility of
listen() overwriting previous registrations, but might have while reading
the documentation. My bad.

Thank you for your help.
Filip Havlicek

2011/1/19 Alex <[email protected]>

> Try replacing
>
>          m_tm.listen(m_psl,
> PhoneStateListener.LISTEN_SIGNAL_STRENGTHS);
>          m_tm.listen(m_psl,
> PhoneStateListener.LISTEN_CELL_LOCATION);
>
> with
>
>          m_tm.listen(m_psl,
> PhoneStateListener.LISTEN_SIGNAL_STRENGTHS |
> PhoneStateListener.LISTEN_CELL_LOCATION);
>
>
> On Jan 18, 10:15 pm, Filip Havlicek <[email protected]> wrote:
> > Hello everyone,
> >
> > I'm trying to get strength of current signal in GSM networks, tried to
> code
> > it by myself, then looked at some tutorial, but still can't get it to
> work.
> > Here is what I have right now.
> >
> > public class TestActivity extends Activity{
> >      private MyPhoneStateListener m_psl;
> >      private TelephonyManager m_tm;
> >
> >      @Override
> >      protected void onCreate(Bundle savedInstanceState) {
> >           super.onCreate(savedInstanceState);
> >           m_tm = (TelephonyManager) getSystemService(TELEPHONY_SERVICE);
> >           m_psl = new MyPhoneStateListener();
> >           m_tm.listen(m_psl, PhoneStateListener.LISTEN_SIGNAL_STRENGTHS);
> >           m_tm.listen(m_psl, PhoneStateListener.LISTEN_CELL_LOCATION);
> >     }
> >
> >      @Override
> >      protected void onDestroy() {
> >           super.onDestroy();
> >           m_tm.listen(m_psl, PhoneStateListener.LISTEN_NONE);
> >      }
> >
> >      @Override
> >      protected void onPause() {
> >           super.onPause();
> >           m_tm.listen(m_psl, PhoneStateListener.LISTEN_NONE);
> >      }
> >
> >      @Override
> >      protected void onResume() {
> >           super.onResume();
> >           m_tm.listen(m_psl, PhoneStateListener.LISTEN_SIGNAL_STRENGTHS);
> >           m_tm.listen(m_psl, PhoneStateListener.LISTEN_CELL_LOCATION);
> >      }
> >
> >      private class MyPhoneStateListener extends PhoneStateListener{
> >
> >           @Override
> >           public void onSignalStrengthsChanged(SignalStrength
> > signalStrength){
> >                super.onSignalStrengthsChanged(signalStrength);
> >                Toast.makeText(getApplicationContext(), "Signal strength
> is
> > now "+signalStrength.getGsmSignalStrength(), Toast.LENGTH_SHORT).show();
> >           }
> >
> >           @Override
> >           public void onCellLocationChanged(CellLocation location) {
> >                super.onCellLocationChanged(location);
> >                Toast.makeText(getApplicationContext(), "Current cell
> > location changed", Toast.LENGTH_SHORT).show();
> >           }
> >      };
> >
> > }
> >
> > Tried on on Nexus One 2.1 and 2.2 and I still get the signal strength
> toast
> > only when I start/resume the application. When the application is
> running, I
> > receive onCellLocationChanged toasts while I move around, which is fine
> and
> > how it's suppose to be, but the signal strength toast is not showing even
> > when I see the signal strength changing in the task bar. I know this is a
> > common goal so I suppose there must be some mistake in my code or some
> way
> > to achieve this.
> >
> > Thanks for all your replies.
> > Best regards,
> > Filip Havlicek
>
> --
> You received this message because you are subscribed to the Google
> Groups "Android Developers" group.
> To post to this group, send email to [email protected]
> To unsubscribe from this group, send email to
> [email protected]<android-developers%[email protected]>
> For more options, visit this group at
> http://groups.google.com/group/android-developers?hl=en

-- 
You received this message because you are subscribed to the Google
Groups "Android Developers" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/android-developers?hl=en

Reply via email to