sayvortana
sayvortana

Reputation: 825

How to test GPS status?

I now create an app to detect the location of device through GPS, I have problem with GPS status, I look through the GpsStatus.Listener but it's complicated since I'm a newbie with Android.

HERE IS WHAT I TRY TO DO WITH GPS STATUS AM I ON THE RIGHT TRACK ???

    final Listener onGpsStatusChange = new GpsStatus.Listener() {

        @Override
        public void onGpsStatusChanged(int event) {
            // TODO Auto-generated method stub
            switch(event){
            case GpsStatus.GPS_EVENT_STARTED:
            // Started...
            break ;
            case GpsStatus.GPS_EVENT_FIRST_FIX:
            // First Fix...
            break ;
            case GpsStatus.GPS_EVENT_STOPPED:
            // Stopped...
            break ;
            }
        }
    };

i want to test whether device is :

Can you explain the GPSs status with example??, thanks.

EDIT: guys, it very helpful so far, now i stuck with no change location: when user still stay on the same location then onLocationChange method will not fired am i wrong? so how can i test it in order to send to server? :)

Upvotes: 0

Views: 7629

Answers (2)

Reno
Reno

Reputation: 33792

When the onGpsStatusChanged() is called from the framework it means that there is a valid gps status update. Use getGpsStatus() to retrieve the latest GPS status updates.

public void onGpsStatusChanged(int event) {
        if (event == GpsStatus.GPS_EVENT_STARTED) {
            Log.d(TAG , "GPS event started ");

        } else if (event == GpsStatus.GPS_EVENT_STOPPED) {
            Log.d(TAG , "GPS event stopped ");

        } else if (event == GpsStatus.GPS_EVENT_FIRST_FIX) {

            GpsStatus gs = locationManager.getGpsStatus(null);

You can use the above snippet. Note that some of the data you want is in the GpsStatus structure.

The rest of the info you require like new location can be obtained from the onLocationChanged() callback.

Upvotes: 1

Idistic
Idistic

Reputation: 6311

Look at LocationManager, GPS status is about the GPS engine itself not location notifications and is not reliable on all platforms/devices even to determine if you have/had a fix.

Or alternatively an older but still relevant tutorial

Upvotes: 2

Related Questions