Android 定位模板

愿君学长松,慎勿作桃李。这篇文章主要讲述Android 定位模板相关的知识,希望能为你提供帮助。

private void getLocationCity(){String serviceName = Context.LOCATION_SERVICE; locationManager = (LocationManager) getSystemService(serviceName); //String provider = LocationManager.GPS_PROVIDER; String provider = LocationManager.NETWORK_PROVIDER; Criteria criteria = new Criteria(); criteria.setAccuracy(Criteria.ACCURACY_FINE); criteria.setAltitudeRequired(false); criteria.setBearingRequired(false); criteria.setCostAllowed(true); criteria.setPowerRequirement(Criteria.POWER_LOW); //String provider = locationManager.getBestProvider(criteria, true);

locationManager.requestLocationUpdates(provider, 2000, 10, locationListener);

Location location = locationManager.getLastKnownLocation(provider); getAddress(location); }private final LocationListener locationListener = new LocationListener() { public void onLocationChanged(Location location) { getAddress(location); } public void onProviderDisabled(String provider){ getAddress(null); } public void onProviderEnabled(String provider){ } public void onStatusChanged(String provider, int status, Bundle extras){ } }; private void getAddress(Location location) {if (location != null) { new MyAsyncCity().execute(location); } else { Log.d(TAG, "updateWithNewLocation: "); } }private class MyAsyncCity extends AsyncTask< Location, Void, String> {@Override protected String doInBackground(Location... params) { List< Address> addList = null; Geocoder ge = new Geocoder(WelcomeActivity.this); try { addList = ge.getFromLocation(params[0].getLatitude(), params[0].getLongitude(), 1); } catch (IOException e) { e.printStackTrace(); } return addList.get(0).getLocality(); }@Override protected void onPostExecute(String city) { super.onPostExecute(city); spUtil.setLocationCity(city); } }

【Android 定位模板】 

    推荐阅读