NaVaNeeTh PrOdHutuR
NaVaNeeTh PrOdHutuR

Reputation: 718

Location tracing using services in android

i want a background service class that which will get the user current location sends as a notification to the user if the user changes its location then the updated location will sends back to the user as a notification..even if the user close the application then also will receive the notification (the service will trace the location in background even application closed)

currently i am using this service for tracing the location which works if the application in foreground

can u pls. help me to get out of this i am struggling for 4 hours

Upvotes: 0

Views: 117

Answers (1)

JRowan
JRowan

Reputation: 7104

in your activity unlike the one that you are using make your buttons start and stop the service and it will run in the background unless the user reopens the app and stops it

Intent i = new Intent(MainActivity.this,gpsservice.class);

            startService(new Intent(i));

or to stop

Intent j = new Intent(MainActivity.this,gpsservice.class);

            stopService(new Intent(j));

use this service

public class gpsservice extends Service{

    private LocationManager locationManager;
    MyLocationListener locationListenerp;
    public gpsservice() {


    }

    @Override
    public IBinder onBind(Intent intent) {
        // TODO Auto-generated method stub
        return null;
    }
    @Override
    public void onCreate() {

        locationManager = (LocationManager) 
                getSystemService(Context.LOCATION_SERVICE);

        locationListenerp = new MyLocationListener();  
        locationManager.requestLocationUpdates(  
        LocationManager.GPS_PROVIDER, 5000, 10, locationListenerp);




    }

    @Override
    public void onDestroy() {
        locationManager.removeUpdates(locationListenerp);



    }
    @Override
    public void onStart(Intent intent, int startid) {
        Toast.makeText(this, "location Service Started", Toast.LENGTH_LONG).show();



    }

     public class MyLocationListener implements LocationListener {
            @Override
            public void onLocationChanged(Location location) {
                Toast.makeText(getApplicationContext(), "I was here", Toast.LENGTH_LONG).show();
            }
            @Override
            public void onProviderDisabled(String s) {
            }
            @Override
            public void onProviderEnabled(String s) {            
            }
            @Override
            public void onStatusChanged(String arg0, int arg1, Bundle arg2) {
                // TODO Auto-generated method stub

            }
        }
}

Upvotes: 1

Related Questions