requestLocationUpdates() is asynchronous. It may take seconds or more for the location to be determined, depending on the location provider being used and the user's circumstances (e.g., is the user getting a GPS signal?). You cannot simply call getLastKnownLocation() immediately after calling requestLocationUpdates() and expect to get any value.
Your whole premise (press a button, get a location) will only work if either: 1. You have location updates started early (e.g., onResume()), so by the time the user presses the button, you probably have a fix, or 2. Pressing the button triggers the request for the location, and it simply does not have an immediate effect, until the fix arrives On Thu, May 5, 2011 at 3:23 PM, Prayag Pathak <prayag.d.pat...@gmail.com> wrote: > Hi Mark, > > Thanks for the answer. But still its not working. I included the code > segment that updates the code. But still not working. > Following is the code : > > LocationManager lm = (LocationManager) > getSystemService(Context.LOCATION_SERVICE); > LocationListener ll = new mylocationlistener(); > lm.requestLocationUpdates(LocationManager.GPS_PROVIDER, 0, 0, > ll); > Location l = > lm.getLastKnownLocation(lm.getProvider(LOCATION_SERVICE).getName()); > Log.w("LocationTracker", "The value of Location returned by > getLastKnownLocation() is : " + l.toString()); > Log.d("Current Location", l.getLatitude() + ""); > Log.d("Current Location",l.getLongitude() + ""); > Toast.makeText(this, l.getLatitude() + "" + > l.getLongitude(),Toast.LENGTH_LONG).show(); > > Regards, > > Prayag > > On May 5, 2:20 pm, Prayag Pathak <prayag.d.pat...@gmail.com> wrote: >> Hi guys, >> >> I am trying to get the latitude and longitude of the current location. >> Let me clarify, I dont want to implement a listener that will create >> an event when the location will be changed. I am trying to create an >> app that will record the current location on a button click event. >> Following is my code : >> >> hdLocMgr = (LocationManager) >> getSystemService(Context.LOCATION_SERVICE); >> Log.w("LocationTracker", "The Location Manager is : >> "+hdLocMgr.toString()); >> hdLocProvider = hdLocMgr.getBestProvider(hdCrit, true); >> location = hdLocMgr.getLastKnownLocation(hdLocProvider); >> dlat = location.getLatitude(); >> dlon = location.getLongitude(); >> Log.w("LocationTracker", "The value of Latitude is : >> "+dlat.toString()); >> >> The code gives a RunTimeException (caused by NullPointerException as >> stated in it). >> >> Kindly help me out in that. >> >> Regards, >> >> Prayag > > -- > You received this message because you are subscribed to the Google > Groups "Android Developers" group. > To post to this group, send email to android-developers@googlegroups.com > To unsubscribe from this group, send email to > android-developers+unsubscr...@googlegroups.com > For more options, visit this group at > http://groups.google.com/group/android-developers?hl=en > -- Mark Murphy (a Commons Guy) http://commonsware.com | http://github.com/commonsguy http://commonsware.com/blog | http://twitter.com/commonsguy _Android Programming Tutorials_ Version 3.4 Available! -- You received this message because you are subscribed to the Google Groups "Android Developers" group. To post to this group, send email to android-developers@googlegroups.com To unsubscribe from this group, send email to android-developers+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/android-developers?hl=en