第一:当使用GPS定位时,最好不要使用getLastKnownLocation方法获得当前位置对象Location,因为该对 象可以在onLocationChanged的参数中由系统给予(根据文档,getLastKnownLocation有2方面功能:1. 获取当前地理位置 2.如果当前位置定位不成功,则可以用此方法获取缓存中的上一次打开地图时定位的地理位置)。这样就避免了空指针异常。而且更重要的是GPS定位不是一下子就能定位成功的,在90%以上的情况下,getLastKnownLocation返回null
第二:LocationListener 最好在Activity的onCreate()方法中进行实例化
实现系统的回调方法:
onLocationChanged(final Location loc)
onProviderDisabled(final String s)
onProviderEnabled(final String s)
onStatusChanged(final String s, final int i, final Bundle b)
第三:requestLocationUpdates 必须要在onResume()中进行注册监听. 且在onPause()中进行反注 册。
第四:测试GPS是否定位成功,去一个空旷的地方去,不要有遮挡。这点非常重要,不然,你永远也不知道自己GPS定位是否成功。
1