/**** * GPS Process * * First of all call listener of Location * then checking for GPS_PROVIDER * if not available then check for NETWORK_PROVIDER * and if its also not available then pass 0.00,0.00 to longitude and latitude * **** *//** PROCESS for Get Longitude and Latitude **/locationManager = (LocationManager) getSystemService(LOCATION_SERVICE);// Define a listener that responds to location updates(定义一个更新位置监听)locationListener = new LocationListener() { public void onLocationChanged(Location location) { // Called when a new location is found by the network location provider.() longitude = String.valueOf(location.getLongitude()); latitude = String.valueOf(location.getLatitude()); Log.d(TAG, "changed Loc : " + longitude + ":" + latitude); } public void onStatusChanged(String provider, int status, Bundle extras) { } public void onProviderEnabled(String provider) { } public void onProviderDisabled(String provider) { }};// getting GPS statusisGPSEnabled = locationManager.isProviderEnabled(LocationManager.GPS_PROVIDER);// check if GPS enabledif (isGPSEnabled) { Location location = locationManager.getLastKnownLocation(LocationManager.GPS_PROVIDER);//最后一次知道的位置信息 if (location != null) { longitude = String.valueOf(location.getLongitude()); latitude = String.valueOf(location.getLatitude()); locationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER, 0, 0, locationListener);//然后更新位置 } else { location = locationManager.getLastKnownLocation(LocationManager.NETWORK_PROVIDER); if (location != null) { longitude = String.valueOf(location.getLongitude()); latitude = String.valueOf(location.getLatitude()); locationManager.requestLocationUpdates(LocationManager.NETWORK_PROVIDER, 0, 0, locationListener); } else { longitude = "0.00"; latitude = "0.00"; } }}// see http://androidsnippets.com/android-gps-location-with-listener